监控linux系统状态
- 查看网络连接状况:
netstat -an中的TIMEWAIT(等待下一次连接)ESTABLISHED(连接状态)netstat -lnp (查看监听端口)、netstat -lntp(只看tcp端口) 、 netstat -lntup(udp跟tcp端口) netstat -an (查看系统的所有的网络连接) ss -an (netstat -an 差不多)
- 抓包工具:
tcpdump (安装:yum install -y tcpdump) tcpdump -nn -i ens33 port 80(指定80端口,-nn只看端口,-i ens33指定网卡) tcpdump -nn -i ens33 -c 100 -w 1.cap(指定抓100条,生成文件1.cap) tcpdump -i ens33 -nn not port 22 and not port 80 and not host 192.168.222.1(不看80和22端口,不看192.168.22.1这个ip) tcpdump -nn -r 1.cap (查看1.cap文件) wireshark (安装:yum install -y wireshark) tshark -i ens33 -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
监控介绍
- 为什么要做监控?
- 可以提前发现潜在故障隐患,第一时间解决掉。把影响降低。
- 常见开源监控软件
-
cacti、nagios、zabbix、smokeping、open-falcon等等,其中nagios、zabbix流行度非常高;
-
cacti、smokeping偏向于基础监控,成图非常漂亮,适合监控网络设备 cacti监控网络的设备;
-
cacti、nagios、zabbix服务端监控中心,需要php环境支持(用Apache的php,用nginx的php都可以),其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图
-
目前业界都流行用zabbix。
-
zabbix配置简单,优势明显,早起使用nagios的企业,慢慢的转向使用zabbix;
-
nagios,需要更改配置文件,并不支持web界面一键执行,nagios和zabbix相比,nagios 更注重的是某一个监控的状态,不关注历史;
-
zabbix,则是把每一次监控的数值反馈出来,数值存到数据库里面,方便后期数据图去分析监控整个状态;
-
nagios不需要mysql的支持,不能成图,若需要画图,得安装插件以后才支持web界面;
-
ccti 也需要mysql的支持,也可以成图,可以记录历史数据
-
zabbix 在web界面下管理得非常彻底,可以增加监控节点,报警预知等等。
-
open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究
-
open-falcon软件适合大企业使用,小企业可以去研究它的思想。
-
监控软件比较新的: prometheus grafana
-
安装zabbix4.0
- zabbix 官网: https://www.zabbix.com/
- zabbix4.0 安装:
1)安装zabbix yum源 rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 2)yum 安装 yum install zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql 3)数据库操作 create database zabbix; grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix-pa'; 4) 导入数据 /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz gzip -d /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz mysql -uroot -pady1 zabbix < /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql systemctl start zabbix-server 这个时候执行启动zabbix可能会出错(Job for zabbix-server.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-server.service" and "journalctl -xe" for details.)需要关闭selinux,执行setenforce 0 5) 编辑zabbix_server.conf vi /etc/zabbix/zabbix_server.conf # 定义数据库相关的参数 systemctl start zabbix-server systemctl enable zabbix-server 6)zabbix_agent.conf vi /etc/zabbix/zabbix_agentd.conf #定义Server=127.0.0.1和 ServerActive=127.0.0.1 systemctl enable zabbix-agent 7)httpd systemctl start httpd # 如果已经启动了nginx,需要先把nginx关闭,然后启动httpd 8)webui配置 http://ip/zabbix 访问,解决php的问题 (date.timezone Asia/Shanghai) /etc/php.ini 默认密码 admin zabbix