zabbix
+++++++++++++++++++++++++++++++
zabbix简介
zabbix是一个高度集成的监控解决方案
可实现企业级的开源分布式监控
zabbix通过c/s模式采集监控数据
zabbix通过b/s模式实现web管理
zabbix监控拓扑
监控服务器
监控服务器可以通过snmp或agent采集数据
数据可以写入mysql、oracle等数据库中
服务器使用lamp实现web前端的管理
被监控主机
被监控主机需要安装agent
常见的网络设备一般支持snmp
zabbix功能
具备常见的商业监控软件所具备的功能
主机性能监控、网络设备监控、数据库监控等
多种报警机制
支持自动发现网络设备和服务器
可以通过配置自动发现服务器规则来实现
支持分布式,能集中展示、管理分布式的监控点
编写插件容易,可以自定义监控项
具有实时绘图功能
一、部署监控服务器运行环境 (LAMP平台)
1.1装运行环境
#yum -y install httpd php mariadb-server mariadb php-mysql mariadb-devel
#systemctl start mariadb ;systemctl enable mariadb
# service httpd start;chkconfig httpd on
#初始化mariadb密码
#mysql
MariaDB [(none)]>use mysql;
MariaDB [(none)]>update user set password=password("itnihao") where user='root';
MariaDB [(none)]>flush privileges;
1.2测试运行环境(测php能否连上mysql)
vim /var/www/html/linkdb.php
<?php
$a=mysql_connect("localhost","root","itnihao");
if($a){echo "ok";}else{echo "err";}
?>
# elinks -dump http://localhost/linkdb.php
二、安装提供zabbix监控服务
2.1装包
#rpm -q gcc gcc-c++ make
#tar -zxvf zabbix-3.2.3.tar.gz
#cd zabbix-3.2.3/
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql
# make && make install
#useradd zabbix
# ls /usr/local/zabbix/
bin 可执行命令 etc 配置文件 lib 库文件
sbin 服务程序文件 share 帮助文件
2.2创建存储配置信息的表
MariaDB [(none)]> create database zabbixdb;
MariaDB [(none)]> grant all on zabbixdb.* to yaya@'localhost' identified by '123456';
#cd zabbix-3.2.3/database/mysql
# mysql -uyaya -p123456 zabbixdb < ./schema.sql
# mysql -uyaya -p123456 zabbixdb < ./images.sql
#mysql -uyaya -p123456 zabbixdb < ./data.sql
#mysql -uyaya -p123456 zabbixdb -e 'show tables;'
三、访问web页面做初始化配置
3.1拷贝网页文件
#cd zabbix-3.2.3/frontends/
#cp -r php/ /var/www/html/zabbix
#chmod -R 777 /var/www/html/zabbix
# firefox http://192.168.4.5/zabbix
3.2安装依赖的软件包并修改配置参数
vim /etc/php.ini
394 max_input_time = 300
384 max_execution_time = 300
672 post_max_size = 16M
878 date.timezone = Asia/Shanghai
# service httpd restart
#rpm -ivh --nodeps (忽略依赖关系) php-bcmath-5.4.45-13.el7.remi.x86_64.rpm php-mbstring-5.4.45-13.el7.remi.x86_64.rpm
# yum -y install php-gd php-xml
# service httpd restart
# firefox http://192.168.4.5/zabbix
存放初始化配置信息文件
/var/www/html/zabbix/conf/zabbix.conf.php
管理员 admin
密码 zabbix
3.4 启动监控服务zabbix_server
修改主配置文件(根据初始化设置使用的库)
# vim /usr/local/zabbix/etc/zabbix_server.conf
87 DBName=zabbixdb
103 DBUser=yaya
111 DBPassword=123456
启动服务zabbix_server
#cp /root/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_server /etc/init.d/
#chmod +x /etc/init.d/zabbix_server
# sed -i "22s;/usr/local;&/zabbix;" /etc/init.d/zabbix_server //修改启动脚本加载目录 22 BASEDIR=/usr/local/zabbix
# /etc/init.d/zabbix_server start
# netstat -utnalp | grep :10051
四 、配置zabbix服务
4.1 监控本机
a 运行zabbix_agentd 服务
修改主配置文件(根据初始化设置使用的库)
#vim /usr/local/zabbix/etc/zabbix_agentd.conf
91 Server=127.0.0.1 //指定允许访问的地址
132 ServerActive=127.0.0.1:10051 //指定监控服务器和端口号
启动服务zabbix_server
#cp /root/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
#chmod +x /etc/init.d/zabbix_agentd
# sed -i "22s;/usr/local;&/zabbix;" /etc/init.d/zabbix_agentd //修改启动脚本加载目录 22 BASEDIR=/usr/local/zabbix
#/etc/init.d/zabbix_agentd start
#netstat -utnalp | grep :10050
登录管理页面,启用监控本机(配置--主机 状态-启用 zbx变绿--监控上)
查看监控信息(监测中--最新数据)
给已监控主机设置使用的新模版(配置--模版)
##########################################
4.2 监控远端主机(192.168.4.10)
a 配置被监控端 192.168.4.10
1运行zabbix_agnentd服务
#rpm -q gcc gcc-c++
#tar -zxvf zabbix-3.2.3.tar.gz
#cd zabbix-3.2.3/
#./configure --prefix=/usr/local/zabbix --enable-agent
#make && make install
#useradd zabbix
# ls /usr/local/zabbix/
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
91 Server=127.0.0.1, 192.168.4.5
132 ServerActive=192.168.4.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;&/zabbix;' /etc/init.d/zabbix_agentd
#sed -n '22p' /etc/init.d/zabbix_agentd
#/etc/init.d/zabbix_agentd start
#netstat -utnalp | grep :10050
b配置监控服务器192.168.4.5 (配置--主机--创建主机)
1 添加新监控的主机并选择监控模版(配置--模版Template OS Linux包含 Template App Zabbix Agent 包含 http监控)
2 查看监控信息(监测中--最新信息)
##########################################
4.3自定义监控模版
监控远端主机10 系统用户数量
监控远端主机10 能登录系统的用户数量
监控远端主机10 不能登录系统的用户数量
a 配置被监控端192.168.4.10
系统总用户数量 不能够登录系统的用户数量 能登录系统的用户数量
#awk -F ":" '$7!="/bin/bash"{i++}END{print i}' /etc/passwd
# grep -v "/bin/bash" /etc/passwd | wc -l
#wc -l /etc/passwd | awk '{print $1}'
#awk -F ":" '$7=="/bin/bash"{j++}END{print j}' /etc/passwd
# grep "/bin/bash" /etc/passwd | wc -l
1 被监控端启用自定义监控命令
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
262 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ //自定义监控文件路径
278 UnsafeUserParameters=1 //1启用自定义命令
#格式:UserParameter=<key>,<shell command>
定义监控命令给zabbix服务使用(或脚本)
# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
# vim mycomm.conf
UserParameter=get_sum_users,wc -l /etc/passwd | awk '{print $1}'
UserParameter=get_login_users,awk -F ":" '$7=="/bin/bash"{j++}END{print j}' /etc/passwd
UserParameter=get_notlogin_users,awk -F ":" '$7!="/bin/bash"{i++}END{print i}' /etc/passwd
2 重启zabbix_agentd服务
# /etc/init.d/zabbix_agentd stop
#/etc/init.d/zabbix_agentd start
# netstat -antpu | grep 10050
3 测试自定义监控命令
#/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k get_sum_users
#useradd yaya9
#/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k get_sum_users
b 配置监控服务器192.168.4.5
1测试能否在命令行下使用被监控端自定义的监控命令
#/usr/local/zabbix/bin/zabbix_get -s 192.168.4.10 -p 10050 -k get_sum_users
#/usr/local/zabbix/bin/zabbix_get -s 192.168.4.10 -p 10050 -k get_login_users
#/usr/local/zabbix/bin/zabbix_get -s 192.168.4.10 -p 10050 -k get_notlogin_users
2 登录监控服务管理页面做如下配置
1 创建新模版 atmp10 (模版名按英文字母排序)
2 创建应用集 yyjone (监控项在应用集里)
3 创建监控项并指定使用的命令 sumusers nologinusers loginusers 键值填命令
4 监控10主机是调用新创建的模版
5 查看监控信息
c 创建监控项时调用zabbix内置命令
# netstat -antpu | grep :80
# echo 2344 > /var/www/html/index.html
# curl http://192.168.4.10
# grep -n 80 /etc/httpd/conf/httpd.conf
# sed -i '42s/80/8090/' /etc/httpd/conf/httpd.conf
# grep -n 80 /etc/httpd/conf/httpd.conf
# systemctl restart httpd
# netstat -antpu | grep :8090
mon_10_httpd -> 键值net.tcp.service[http,192.168.4.10,8090]
++++++++++++++++++++++++++++++++++