利用zabbix软件,搭建自动化监控系统一、监控的目的:

报告系统运行状况:内容包括吞吐量、反应时间、使用率等。

提前发现问题:进行服务器性能调整、找出系统的瓶颈在何处。

二、监控的资源类别:

1、公开数据:

tcp或udp端口、web、ftp、ssh、数据库等。

2、私有数据:

cpu、内存、磁盘、网卡流量、用户进程等。

三、系统常用监控命令:

ps、uptime、free、swapon -s、df -h、ifconfig、netstat、ping、traceroute、iostat

四、自动化监控系统:

Cacti:基于SNMP协议,强大的绘图能力。

Nagios:基于Agent、强大的状态检查与报警机制、插件较多、支持自己写入监控脚本。

Zabbix:基于多种监控机制、支持分布式监控。liu

五、Zabbix简介:

是一个高度集成的监控解决方案。

可以实现企业级的开源分布式监控。

通过C/S模式采集监控数据。

通过B/S模式实现Web管理。

通过SNMP或Agent采集数据,并写入数据库中。

服务器使用LNMP架构实现Web前端管理。

被监控主机需要安装Agent,且网络设备支持SNMP。

六、准备安全监控系统环境:1、搭建LNMP环境:

Nginx安装参考:TEDDYOU

注意!nginx配置文件的http{..}中需要添加如下内容,并启用PHP本地调用:

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

MySQL数据库安装参考:TEDDYOU

Mariadb数据库安装运行:

yum -y install mariadb-server mariadb-devel systemctl start mariadb

PHP安装运行:

yum -y install php-fpm php-mysql systemctl start php-rpm
2、安装Zabbix:

下载:Download Zabbix agents

yum -y install net-snmp-devel curl-devel libevent-devel tar xf zabbix-3.2.3.tar.gz cd ./zabbix-3.2.3/ ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl make && make install

初始化Zabbix:

[root@localhost zabbix-3.2.3]# mysql MariaDB [(none)]> create database zabbix character set utf8; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye [root@localhost zabbix-3.2.3]# cd database/mysql/ [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < images.sql [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

导入Web页面:

[root@localhost zabbix-3.2.3]# cp -rp frontends/php/ /usr/local/nginx/html/zabbix [root@localhost zabbix-3.2.3]# chmod 777 -R /usr/local/nginx/html/zabbix/

访问Web页面:http://zabbix服务器的IP或域名/zabbix/setup.php

自动 监控 文件夹 变化 复制 自动监控数据_运维

点击下一步,出现报错信息,我们需要继续按照报错信息修改配置文件。

vim /etc/php.ini 672 post_max_size = 16M 384 max_execution_time = 300 394 max_input_time = 300 878 date.timezone = Asia/Shanghai yum -y install php-gd php-xml php-ldap php-bcmath systemctl restart php-fpm

刷新服务,即可进行初始化设置。初始化完成后默认登陆账户为admin,密码为zabbix

启用zabbix服务:

[root@localhost zabbix-3.2.3]# vim /usr/local/etc/zabbix_server.conf 87 DBName=zabbix 103 DBUser=zabbix 111 DBPassword=zabbix [root@localhost zabbix-3.2.3]# useradd zabbix [root@localhost zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/ [root@localhost zabbix-3.2.3]# chmod +x /etc/init.d/zabbix_server [root@localhost zabbix-3.2.3]# sed -i '22s;/usr/local;/usr/local/zabbix;' /etc/init.d/zabbix_server [root@localhost zabbix-3.2.3]# /etc/init.d/zabbix_server start [root@localhost zabbix-3.2.3]# ss -nutlp | grep 10051

存在10051端口则说明服务被成功启动。

访问zabbix的web页面,在user的用户设置中可以将语言修改为中文(zh_CN)。

配置被监控的主机:

tar xf zabbix-3.2.3.tar.gz cd zabbix-3.2.3/ useradd -s /sbin/nologin zabbix ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install vim /usr/local/zabbix/etc/zabbix_agentd.conf 91 Server=127.0.0.1,192.168.2.5 132 ServerActive=192.168.2.5:10051 cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ chmod +x /etc/init.d/zabbix_agentd sed -i '22s;/usr/local;/usr/local/zabbix;' /etc/init.d/zabbix_agentd /etc/init.d/zabbix_agentd start ss -nutlp | grep 10050

查看端口10050被zabbix程序占用则说明服务启动成功。

自动 监控 文件夹 变化 复制 自动监控数据_服务器_02

自动 监控 文件夹 变化 复制 自动监控数据_mysql_03

配置完成,可在web管理页面中添加主机开始监控,部分模板存在冲突,请自行测试。

拓展:

打开自定义监控功能:

vim /usr/local/zabbix/etc/zabbix_agentd.conf 263 Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf 278 UnsafeUserParameters=1 vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/sumusers.conf UserParameter=get_sum_users,wc -l /etc/passwd | awk '{print $1}'

创建新的监控模板即可调用。