常见监控服务
cacti 服务器流量图
nagios 报警
zabbix既可以画图也可以报警,有图形化界面
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix
能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix
构成:
zabbix的主要特点:
Zabbix主要功能:
CPU负荷
内存使用
磁盘使用
网络状况
端口监视
日志监视
服务器端配置文件zabbix_server.conf常用配置参数:
参数 | 作用 |
---|---|
LogFile | 设置服务端日志文件存放路径 |
ListenIP | 设置服务端监听IP |
ListenPort | 设置服务端监听的端口号 |
PidFile | 设置服务端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器IP |
DBName | 指定zabbix使用的数据库库名 |
DBUser | 指定zabbix数据库登录用户 |
DBPassword | 指定zabbix数据库登录密码 |
DBPort | 指定zabbix数据库端口号 |
User | 设置zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放路径 |
ExternalScripts | 外部脚本存放路径 |
环境:
环境 | IP | 应用 |
---|---|---|
服务器 | 192.168.94.143(node2) | lamp\zabbix server\zabbix agent |
务必确保selinux防火墙关闭!!!
源码包地址:https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz
//下载 [root@node2 ~]# yum -y install net-snmp-devel libevent-devel [root@node2 ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz //解压 [root@node2 ~]# tar xf zabbix-5.2.6.tar.gz -C
//添加用户组 [root@node2 ~]# groupadd -r zabbix [root@node2 ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
//配置zabbix数据库 [root@node2 ~]# mysql -uroot -p123456 mysql> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.01 sec) mysql> grant all privileges on zabbix.* to zabbix@192.168.94.143 identified by 'zabbix123!'; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> quit //写入zabbix数据库 [root@node2 ~]# cd zabbix-5.2.6/database/mysql/ [root@node2 mysql]# ll total 13384 -rw-r--r--. 1 1000 1000 11535807 Mar 29 17:21 data.sql -rw-r--r--. 1 1000 1000 282 Mar 29 17:02 double.sql -rw-r--r--. 1 1000 1000 1978341 Mar 29 16:33 images.sql -rw-r--r--. 1 1000 1000 482 Mar 29 17:02 Makefile.am -rw-r--r--. 1 1000 1000 15982 Mar 29 17:21 Makefile.in -rw-r--r--. 1 1000 1000 160579 Mar 29 17:21 schema.sql [root@node2 mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql mysql: [Warning] Using a password on the command line interface can be insecure. [root@node2 mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql mysql: [Warning] Using a password on the command line interface can be insecure. [root@node2 mysql]# mysql -uzabbix -pzabbix123! zabbix < data.sql mysql: [Warning] Using a password on the command line interface can be insecure.
//编译安装 [root@node2 zabbix-5.2.6]# [root@node2 zabbix-5.2.6]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 [root@node2 zabbix-5.2.6]# make install
//服务端配置 [root@node2 zabbix-5.2.6]# echo 'DBPassword=zabbix123!'>> /usr/local/zabbix/etc/zabbix_server.conf //mysql库文件链接 [root@node2 zabbix-5.2.6]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/local/lib/libmysqlclient.so.20 [root@node2 zabbix-5.2.6]# echo '/usr/local/lib'>> /etc/ld.so.conf [root@node2 zabbix-5.2.6]# ldconfig -v
//启动服务 [root@node2 zabbix-5.2.6]# zabbix_server [root@node2 zabbix-5.2.6]# zabbix_agentd [root@node2 zabbix-5.2.6]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 0.0.0.0:10050 0.0.0.0:* LISTEN 0 128 0.0.0.0:10051 0.0.0.0:* LISTEN 0 128 127.0.0.1:9000 0.0.0.0:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 80 *:3306 *:*
//修改参数,重启php服务 [root@node2 ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini [root@node2 ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini [root@node2 ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini [root@node2 ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini [root@node2 ~]# systemctl restart php-fpm.service
//复制前端文件到apache目录的zabbix下更改属主组 [root@node2 ~]# cd zabbix-5.2.6/ [root@node2 zabbix-5.2.6]# mkdir /usr/local/apache/htdocs/zabbix [root@node2 zabbix-5.2.6]# cp -a ui/* /usr/local/apache/htdocs/zabbix/ [root@node2 zabbix-5.2.6]# chown -R apache.apache /usr/local/apache/htdocs/zabbix/ //创建虚拟主机 [root@node2 zabbix-5.2.6]# vim /etc/httpd24/httpd.conf <VirtualHost *:80> DocumentRoot "/usr/local/apache/htdocs/zabbix" ServerName zabbix.wangqing.com ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1 <Directory "/usr/local/apache/htdocs/zabbix"> Options none AllowOverride none Require all granted </Directory> </VirtualHost> //更改执行权限让zabbix生成配置文件 [root@node2 zabbix-5.2.6]# chmod 777 /usr/local/apache/htdocs/zabbix/conf [root@node2 zabbix-5.2.6]# ll -d /usr/local/apache/htdocs/zabbix/conf drwxrwxrwx. 3 zabbix zabbix 94 Mar 29 17:21 /usr/local/apache/htdocs/zabbix/conf //重启apapche服务 [root@node2 zabbix-5.2.6]# apachectl restart [root@node2 zabbix-5.2.6]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 0.0.0.0:10051 0.0.0.0:* LISTEN 0 128 127.0.0.1:9000 0.0.0.0:* LISTEN 0 80 *:3306 *:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:*
[root@node2 zabbix-5.2.6]# cp -r misc/init.d/fedora/core/* /etc/init.d/ [root@node2 ~]# chmod 775 /etc/init.d/zabbix_* [root@node2 zabbix-5.2.6]# sed -i 's/BASEDIR=\/usr\/local/&\/zabbix/g' /etc/init.d/zabbix_server [root@node2 zabbix-5.2.6]# sed -i 's/BASEDIR=\/usr\/local/&\/zabbix/g' /etc/init.d/zabbix_agentd //测试启动 root@node2 zabbix-5.2.6]# pkill zabbix [root@node2 zabbix-5.2.6]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 127.0.0.1:9000 0.0.0.0:* LISTEN 0 80 *:3306 *:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:* [root@node2 zabbix-5.2.6]# /etc/init.d/zabbix_server start Reloading systemd: [ OK ] Starting zabbix_server (via systemctl): [ OK ] [root@node2 zabbix-5.2.6]# /etc/init.d/zabbix_agentd start Starting zabbix_agentd (via systemctl): [ OK ] //加载配置 [root@node2 zabbix-5.2.6]# chkconfig zabbix_server on [root@node2 zabbix-5.2.6]# chkconfig zabbix_agentd on [root@node2 zabbix-5.2.6]# reboot ** 只自启了agentd,待研究