首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
3,104 阅读
2
十年之约RSS聚合订阅服务上线
2,603 阅读
3
工资发放日的区别
2,342 阅读
4
rsyslogd内存占用过高解决方案
2,228 阅读
5
Nginx反代MinIO后,上传文件签名异常
2,126 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
Java
旅行
生活
学习笔记
教程
Linux
服务器
软件
SpringBoot
日记
Windows
服务
数据库
福利
Spring
系统
SQL
前端
萧瑟
累计撰写
191
篇文章
累计收到
1,282
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
19
篇与
服务器
的结果
2021-10-31
Webfunny酷炫前端监控系统
前段时间发现一个不错的前端监控系统,支持用户细查、错误分析、接口分析、性能分析、流量分析、健康分析、上线安全监测等,对于前端追寻错误日志,还原错误场景有很大的帮助。跟随小编一起来了解并部署一套吧。用户细查用户细查旨在记录用户的每一步行为和操作记录,为开发者提供复现线上问题的可能。行为记录包括,浏览,点击,Js代码报错,接口请求的耗时、报错以及接口返回值等等,所有在前端产生的记录我们都会尽力记录下来,这样我们就可以轻松复现用户的问题,前端、后端、测试也都无需再扯皮了。错误分析错误分析主要是在两个维度,一个是JS代码错误,一个自定义错误。Js错误是通过window.onerror进行捕获的,而通过console.error打印出来的我们都认为是自定义错误。因为前端大部分的错误都是通过这两种方式捕获的,所以需要对这两种错误进行精细化分析。接口分析很多小伙伴都认为接口好像跟前端没有太大关系,接口日志的分析和查询应该交给后端,可现实中真的是这样吗。正常情况下,后端都是反感存接口返回值的,一个是日志存储量非常大,一个是后端调用的链路很长。而对于前端来说,只需要关心最后的结果,所以前端对接口的监控是非常合适的,我们可以快速定位到是不是接口的问题。性能分析性能分析也是很多前端朋友关注的重要功能,因为前端页面性能直接影响用户体验。如,页面加载耗时,Dom解析耗时,接口请求耗时,接口成功率等。健康分析如大家所知,监控系统会对前端项目的各种数据进行分析,但是大部分的监控系统都不会对项目的整体状况进行分析和评估。所以我们增加了一个健康分的统计功能,让大家对项目的健康状况有一个直观的了解。上线安全监测如大家所知,监控系统会监控线上应用的各项指标,如,错误,白屏,耗时等等,但是仔细一想,即使有这些监控,我们也不一定能够保证线上的应用是安全的,为什么呢?比如,当你上线了某个功能后,页面一切正常,但是某个流程无法进行了,这时候各项监控系统都不会有任何感知,即使你感知到,那也是一、两个小时之后的事情了,对于流量较大的应用来说,这个损失可不小。时间越长,开发者也要承担越大的责任。所以,webfunny的实时流量大屏幕,我们针对前端最关键的12大指标进行实时监控,让你在上线后的半小时内能够实时了解各项指标的变化趋势,来判断上线是否安全部署$ git clone https://github.com/a597873885/webfunny_monitor.git ## 国内地址 $ git clone https://gitee.com/webfunnyMonitor/webfunny_monitor.git ## 进入项目目录 $ cd webfunny_monitor ## 切换淘宝镜像源 $ npm config set registry http://registry.npm.taobao.org/ ## 如果没有pm2 可执行下面命令 $ npm install pm2 -g ## 初始化并安装 $ npm run init && npm install ## 修改数据库文件 $ cd bin/mysqlConfig.js ## 修改以下文件变更数据库 ------ module.exports = { write: { ip: 'xxx.xxx.xxx.xxx', // 远程ip地址 port: '3306', // 端口号 dataBaseName: 'webfunny_db', // 数据库名 userName: 'root', // 用户名 password: '123456' // 密码 } } ------ ## 运行项目 $ npm run prd ## 访问:http://localhost:8010/webfunny/register.html?type=1 ## 部署完成有需要的小伙伴,可以试试,效果和功能还不错。{dotted startColor="#ff6c6c" endColor="#1989fa"/}项目地址官网演示地址GitHub开源地址Gitee开源地址
2021年10月31日
649 阅读
3 评论
2021-10-13
rsyslogd内存占用过高解决方案
今天产品经理告诉我项目打不开了,让我解决一下问题。经过短暂的排除,发现 docker 运行四个月,容器日志把 50G 磁盘占用完了,导致项目网站部分服务不可用。重启 docker ,重新部署后,偶然发现服务器的内存使用率也达到 85% ,我记得之前 docker 优化后才占用 30% ,所以这个问题也需要排除一下。查看服务器状态使用top命令查看服务器各个程序占用CPU、内存情况。查看消耗内存最多的前40个进程ps auxw|head -1;ps auxw|sort -rn -k4|head -40通过结果看到rsyslogd日志管理服务占用了10%左右的内存。修改rsyslogd服务配置文件vim /usr/lib/systemd/system/rsyslog.service在Service配置中添加 MemoryAccounting=yes、MemoryMax=80M、MemoryHigh=8M 三项如下所示。[Unit] Description=System Logging Service ;Requires=syslog.socket Wants=network.target network-online.target After=network.target network-online.target Documentation=man:rsyslogd(8) Documentation=http://www.rsyslog.com/doc/ [Service] Type=notify EnvironmentFile=-/etc/sysconfig/rsyslog ExecStart=/usr/sbin/rsyslogd -n $SYSLOGD_OPTIONS Restart=on-failure UMask=0066 StandardOutput=null Restart=on-failure MemoryAccounting=yes MemoryMax=80M MemoryHigh=8M [Install] WantedBy=multi-user.target ;Alias=syslog.service通常情况下rsyslogd大小只有5M,所以将内存上限设置为8M,然后将绝对内存限制为80M。重启服务后systemctl daemon-reload systemctl restart rsyslog至此问题算是解决,还是需要后期继续跟进排查。
2021年10月13日
2,228 阅读
2 评论
2021-09-29
Linux配置swap交换分区
swap交换分区Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。 用于当物理内存不足时,调用硬盘的一部分来充当内存使用,这个就是所谓的虚拟内存。其类似Windows的pagesfile.sys.swap分区大小分区时一般设定:swap分区的大小=1.5*物理内存容量。当内存比较小的时候(8G或8G以下),可以为内存的1.5-2倍(因为内存小时候,内存很容易被充满,这个时候就要把交换分区分大点)。 正常情况下,当内存充足的时候,swap分区是不会被使用的,因此,一旦发生内存充足时,而swap使用了很多,说明应用程序等进程有内存泄露,此时就要和开发程序人员一起来分析哪里内存泄露,当系统使用swap分区用的越多,系统性能反而会下降,某些大型数据库也可能不使用swap分区,也是可以考虑的,不过,这也会带来内存耗尽,服务直接挂掉的风险。而swap是内存不够时的一个缓冲地带。虽然慢,服务器不会挂掉,这点就仁者见仁了。配置教程1.检查当前的分区情况## 使用free -m 或cat /proc/swaps [root@localhost ~]# free -m total used free shared buff/cache available Mem: 3789 1368 1037 0 1383 2129 Swap: 0 0 0 2.增加交换分区文件及大小 检查没有swap,下面就需要增加: 判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。[root@localhost ~]# dd if=/dev/zero of=/var/swap bs=1024 count=4096000 [root@localhost ~]# ll /var/swap -rw-r--r-- 1 root root 4194304000 Sep 29 01:02 /var/swap [root@localhost ~]# ll -h /var/swap -rw-r--r-- 1 root root 4.0G Sep 29 01:02 /var/swap 3.使用以下命令来设置交换文件[root@localhost ~]# mkswap /var/swap no label, UUID=fe9d1189-aaa7-4744-a056-5126ee051632 4.启用交换分区文件 要立即启用交换文件而不是在引导时自动启用,使用以下命令[root@localhost ~]# swapon /var/swap 检查增加后的交换情况[root@localhost ~]# free -m total used free shared buff/cache available Mem: 3789 1368 1037 0 1383 2129 Swap: 4096 0 05.配置开机挂载 要在引导时启用,编辑 /etc/fstab 文件来包含以下行/var/swap swap swap defaults 0 0 ## 操作挂载文件时,一定要备份,否则修改失败时,会造成不能开机的危险。 [root@localhost ~]# cp /etc/fstab /etc/fstab.bak ## 备份完毕后,检查是否备份成功 [root@localhost ~]# ll /etc/fstab* -rw-r--r-- 1 root root 407 Sep 29 01:06 /etc/fstab -rw-r--r-- 1 root root 350 Sep 29 01:03 /etc/fstab.bak ## 修改完挂载文件后查看 [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Thu Mar 7 06:38:37 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=4b499d76-769a-40a0-93dc-4a31a59add28 / ext4 defaults 1 1 /var/swap swap swap defaults 0 0至此 swap 配置完成,重启也不会失效。实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置 swap 的值。而 swap 分区并不是等所有的物理内存都消耗完毕之后,才去使用,什么时候使用是由 swappiness 参数值控制。# 该值在centos 7上默认值是30,在Centos 6上是60,可以看出新版本的linux已经在根据内存大小趋势做出一定的调整。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间;swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。 cat /proc/sys/vm/swappiness修改swappiness参数## 临时性修改 sysctl vm.swappiness=10 cat /proc/sys/vm/swappiness ## 永久修改: vim /etc/sysctl.conf vm.swappiness=30
2021年09月29日
411 阅读
4 评论
2021-09-28
Linux编译安装Nginx
在Linux下安装Nginx,首先需要安装 gcc-c++编译器。然后安装Nginx相关依赖包,最后安装Nginx即可。安装教程## 安装编译器和相关依赖包软件 [root@localhost ~]# yum install gcc-c++ [root@localhost ~]# yum install -y openssl openssl-devel [root@localhost ~]# yum install -y pcre pcre-devel [root@localhost ~]# yum install -y zlib zlib-devel ## 创建Nginx 安装位置目录 [root@localhost ~]# mkdir /usr/local/nginx ## 在线下载最新1.20.1安装包 [root@localhost ~]# wget https://nginx.org/download/nginx-1.20.1.tar.gz ## 解压并进入nginx目录 [root@localhost ~]# tar -zxvf nginx-1.20.1.tar.gz [root@localhost ~]# cd nginx-1.20.1 ## 编译Nginx安装包 ## 此处编译pcre、zlib、ssl、http2相关依赖 [root@localhost nginx-1.20.1]# ./configure \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_v2_module \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-stream \ --with-stream_ssl_module ## 编译安装 [root@localhost nginx-1.20.1]# make [root@localhost nginx-1.20.1]# make install ## 查找安装路径 [root@localhost nginx-1.20.1]# whereis nginx nginx: /usr/local/nginx ## 启动Nginx [root@localhost nginx-1.20.1]# cd /usr/local/nginx/sbin [root@localhost sbin]# ./nginx隐藏Nginx版本号在配置文件nginx.conf中http类别里加入server_tokens off;配置文件在:/usr/local/nginx/conf 内Nginx相关命令## 启动命令 ./nginx ## 重启服务 ./nginx -s reload ## 停止服务 ./nginx -s stop更加详细教程可参考:nginx编译安装和模块配置详解
2021年09月28日
345 阅读
0 评论
2021-09-12
TongWeb下乱码问题解决思路
TongWeb下乱码问题解决思路,解决乱码问题主要看以下几项配置,重点要了解这些编码设置所起的作用;乱码问题看TongWeb的server.log日志基本没用,重点是看应用采用的编码以及操作系统、TongWeb的编码设置。
2021年09月12日
376 阅读
0 评论
2021-09-11
CentOS 7 登入系统的用户信息管理
查看登陆用户[root@localhost ~]# w 18:05:04 up 22 days, 17:16, 1 user, load average: 0.05, 0.10, 0.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.25.127 182月21 12:10 0.21s 0.21s -bash root pts/2 192.168.2.10 16:50 1:39m 0.01s 0.01s -bash root pts/3 10.5.0.118 18:01 27:39 0.01s 0.01s -bash root pts/4 192.168.25.127 18:26 2.00s 0.04s 0.02s w登出已登录用户[root@localhost ~]# pkill -kill -t pts/0查看用户是否被登出[root@localhost ~]# w 18:05:50 up 22 days, 17:16, 1 user, load average: 0.05, 0.10, 0.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/2 192.168.2.10 16:50 1:39m 0.01s 0.01s -bash root pts/3 10.5.0.118 18:01 27:39 0.01s 0.01s -bash root pts/4 192.168.25.127 18:26 2.00s 0.04s 0.02s w
2021年09月11日
297 阅读
4 评论
2021-09-01
docker部署java项目时间不正常
查看 docker 中 java 项目打印的日志发现,时间相差 8 个小时。考虑是时区的问题。解决方案Dockerfile 文件加入时区配置RUN echo "Asia/Shanghai" > /etc/timezonedocker run 增加参数-v /etc/localtime:/etc/localtimeeg:启动命令docker run -d --name "hone" -v /etc/localtime:/etc/localtime -p 8080:8080 hone
2021年09月01日
262 阅读
0 评论
2021-08-25
使用COSFS工具挂载COS对象存储
最近Git服务器镜像GitHub项目仓库经常失败,后来看了看系统日志发现丢包和GitHub无法访问,造成Git镜像无法使用,就准备将Git服务迁移到香港服务器,将资源文件打包后,发现Git私服已经2个多G了,靠我那小水管服务器,备份这么大的文件不现实,突然发现腾讯云COS对象存储可以快速备份,就顺手研究了一下,发现还挺简单的。本文教程基于CentOS 7.X系统,挂载完成后,该磁盘会显示为256T是不是很大呦。安装依赖$ sudo yum install libxml2-devel libcurl-devel -y下载安装包$ wget https://github.com/tencentyun/cosfs/releases/download/v1.0.19/cosfs-1.0.19-centos7.0.x86_64.rpm安装软件$ sudo rpm -ivh cosfs-1.0.19-centos7.0.x86_64.rpm{alert type="warning"}如果安装时报错,提示conflicts with file from package fuse-libs-*,则加--force参数再次安装。{/alert}工具使用1.配置密钥文件$ echo <BucketName-APPID>:<SecretId>:<SecretKey> > /etc/passwd-cosfs # 示例 $ echo examplebucket-1250000000:AKIDHTVVaVR6e3****:PdkhT9e2rZCfy6**** > /etc/passwd-cosfs # 修改文件权限 chmod 640 /etc/passwd-cosfs2.运行工具$ cosfs <BucketName-APPID> <MountPoint> -ourl=http://cos.<Region>.myqcloud.com -odbglevel=info -oallow_other # 示例 mkdir -p /mnt/cosfs ## 创建挂载文件夹 cosfs examplebucket-1250000000 /mnt/cosfs -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info -onoxattr -oallow_other{alert type="info"} 为本地挂载目录(例如/mnt)。 为地域简称, 例如 ap-guangzhou 、 eu-frankfurt 等。更多地域简称信息,请参见 地域域名。-odbglevel 指定日志级别,默认为crit,可选值为crit、error、warn、info、debug。-oallow_other 允许非挂载用户访问挂载文件夹。{/alert}3.卸载挂载# 方式1:fusermount 命令专用于卸载 FUSE 文件系统 $ fusermount -u /mnt # 方式2: 当有程序引用文件系统中文件时,进行卸载不会报错,并在没程序引用时完成卸载 $ umount -l /mnt # 方式3:当有程序引用文件系统中的文件时,进行卸载会报错 $ umount /mnt
2021年08月25日
348 阅读
2 评论
2021-06-01
卸载腾讯云服务器自带监控插件
卸载腾讯云服务器自带监控插件,瞬间变成纯净无监控系统,节省内存使用。
2021年06月01日
765 阅读
5 评论
1
2