监控的目的
监控的资源类别
自动化监控系统
主机名 | IP地址 |
---|---|
zabbix-server | 192.168.8.100 |
zabbx-agent | 192.168.8.101 |
zabbix-server部署监控环境(将教学环境中的som.tar.gz上传至虚拟机Zabbix-server的/root)
[root@proxy ~]# hostnamectl set-hostname zabbix-server #修改主机名
[root@zabbix-server ~]# yum -y install gcc pcre-devel openssl-devel make #安装nginx依赖包
[root@zabbix-server ~]# mkdir /root/som
[root@zabbix-server ~]# tar -xf som.tar.gz -C /root/som
[root@zabbix-server ~]# cd som/
[root@zabbix-server som]# tar -xf nginx-1.16.1.tar.gz
[root@zabbix-server som]# cd nginx-1.16.1/
[root@zabbix-server nginx-1.16.1]# ./configure --with-http_ssl_module
#配置nginx,支持加密功能
[root@zabbix-server nginx-1.16.1]# make #编译
[root@zabbix-server nginx-1.16.1]# make install #编译并安装
[root@zabbix-server ~]# yum -y install php php-mysql php-fpm #安装php相关软件
[root@zabbix-server ~]# yum -y install mariadb mariadb-devel mariadb-server #安装mariadb相关软件
[root@zabbix-server~]# vim /usr/local/nginx/conf/nginx.conf
http{
fastcgi_buffers 8 16k; #缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; #缓存php生产的头部信息
fastcgi_connect_timeout 300; #连接PHP的超时时间
fastcgi_send_timeout 300; #发送请求的超时时间
fastcgi_read_timeout 300; #读取请求的超时时间
location ~\.php${
root html; #访问根目录
fastcgi_pass 127.0.0.1:9000; #动态页面转发给9000端口
fastcgi_index index.php; #访问首页
include fastcgi.conf; #调用配置文件
}
启动相关服务
[root@zabbix-server ~]# systemctl start mariadb #启动mariadb
[root@zabbix-server ~]# systemctl enable mariadb
[root@zabbix-server ~]# systemctl start php-fpm #启动php-fpm
[root@zabbix-server ~]# systemctl enable php-fpm
[root@zabbix-server ~]# /usr/local/nginx/sbin/nginx #启动nginx
编写测试页面
[root@zabbix-server nginx-1.16.1]# vim /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>
真机访问测试http://192.168.8.100/test.php
[root@zabbix-server nginx-1.16.1]# cd ..
[root@zabbix-server ~]# yum -y install net-snmp-devel curl-devel libevent-devel
#安装zabbix所需要依赖
[root@zabbix-server ~]# tar -xf zabbix-3.4.4.tar.gz #解压zabbix
[root@zabbix-server ~]# cd zabbix-3.4.4/
[root@zabbix-server zabbix-3.4.4]#./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl #配置zabbix
[root@zabbix-server zabbix-3.4.4]# make install #安装zabbix
[root@zabbix-server zabbix-3.4.4]# ls /usr/local/etc/
[root@zabbix-server zabbix-3.4.4]# ls /usr/local/bin/
[root@zabbix-server zabbix-3.4.4]# ls /usr/local/sbin/
初始化准备,创建数据库与数据库账户
[root@zabbix-server ~]# mysql #进入数据库
mysql> CREATE DATABASE zabbix CHARACTER SET utf8; #创建zabbix库支持中文字符集
mysql> GRANT ALL ON zabbix.* to zabbix@"localhost" IDENTIFIED BY 'zabbix';
#授权用户zabbix,密码为zabbix
MariaDB [(none)]> EXIT; #退出数据库连接
私用文件还原数据
MariaDB [(none)]> exit
[root@zabbix-server zabbix-3.4.4]# cd database/mysql/
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql #导入数据
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < images.sql #导入数据
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < data.sql #导入数据
#注:还原数据的时候顺序不能错
部署监控端站点
[root@zabbix-server mysql]# cd
[root@zabbix-server ~]# cd /root/zabbix-3.4.4/frontends/php/
[root@zabbix-server php]# cp -r * /usr/local/nginx/html/ #将页面放到访问根目录
[root@zabbix-server php]# chmod -R 777 /usr/local/nginx/html/ #服务apache用户权限
根据报错提示需要修改php-fpm的配置文件
[root@zabbix-server~]# vim /etc/php.ini
878 date.timezone = Asia/Shanghai #设置时区
384 max_execution_time = 300 #最大执行时间,秒
672 post_max_size = 32M #POST(上传提交)数据最大容量
394 max_input_time = 300 #服务器接收数据的时间限制
[root@zabbix-server~]# systemctl restart php-fpm #重启php-fpm
[root@zabbix-server~]# yum -y install php-gd php-xml php-ldap php-bcmath php-mbstring
[root@zabbix-server~]# systemctl restart php-fpm #重启php-fpm
启动zabbix服务的监控程序,修改zabbix配置文件
[root@zabbix-server~]# vim /usr/local/etc/zabbix_server.conf
85 DBHost=localhost #数据库主机
95 DBName=zabbix #设置数据库名称
111 DBUser=zabbix #设置数据库账户
119 DBPassword=zabbix #设置数据库密码
38 LogFile=/tmp/zabbix_server.log #设置日志
启动服务
[root@zabbix-server php]# useradd zabbix #不创建用户无法启动服务
[root@zabbix-server php]# zabbix_server
[root@zabbix-server php]# ss -antlp | grep 10051
将zabbix_server设置为开机自启服务
[root@zabbix-server ~]# echo zabbix_server >> /etc/rc.d/rc.local
[root@zabbix-server ~]# echo zabbix_agentd >> /etc/rc.d/rc.local
[root@zabbix-server ~]# chmod +x /etc/rc.d/rc.local
部署zabbix被监控端服务器
安装软件(以8.101为例)
[root@zabbix-server ~]# scp -r zabbix-3.4.4/ 192.168.8.101:/root/ #将zabbix拷贝给zabbix-agent
[root@zabbix-agent ~]# yum -y install gcc pcre-devel autoconf #安装客户端依赖包
[root@zabbix-agent ~]# cd zabbix-3.4.4/
[root@zabbix-agent zabbix-3.4.4]# ./configure --enable-agent #配置zabbix
[[email protected]]# make install #安装zabbix
[root@zabbix-agent ~]# ls /usr/local/etc
[root@zabbix-agent ~]# ls /usr/local/bin
[root@zabbix-agent ~]# ls /usr/local/sbin
修改被监控主机配置文件
[root@zabbix-agent~]# vim /usr/local/etc/zabbix_agentd.conf
93 Server=127.0.0.1,192.168.8.100 #允许访问服务地址列表,即允许谁监控我
134 ServerActive=192.168.8.100:10051 #监控服务器ip地址和端口
30 LogFile=/tmp/zabbix_agentd.log #日志文件
启动服务zabbix-agentd
[root@zabbix-agent zabbix-3.4.4]# useradd zabbix #创建zabbix用户
[root@zabbix-agent zabbix-3.4.4]# zabbix_agentd #启动客户端服务
[root@zabbix-agent zabbix-3.4.4]# ss -antlp | grep 10050 #查看端口
设置被监控端服务为开机自启
[root@zabbix-agent ~]# echo zabbix_agentd >> /etc/rc.d/rc.local
[root@zabbix-agent ~]# chmod +x /etc/rc.d/rc.local
添加加监控主机
通过Configuration→>Hosts>Create Host创建、
注意:设置中文环境后,中英文差异
为主机添加关联的监控模板
√ 在"Templates"模板选项卡页面中
√ 找到Link new templates,select选择合适的模板添加
√ 这里我们选择Template os Linux模板
点击zabbix-agent被监控主机
查看监控数据
可以点击"Monitoring"->“Latest data”,在过滤器中填写条件,根据群组和主机搜索即可
Zabbix支持查看图形
找到需要的数据,点击后面的Graph(图形)
开启自定义监控功能(zabbix-agent操作,被监控端修改Agent文件)
[root@zabbix-agent~]#vim /usr/local/etc/zabbix_agentd.conf
280 UnsafeUserParameters=1 #是否允许自定义支持key
264 Include=/usr/local/etc/zabbix_agentd.conf.d/ #加载配置文件目录
创建自定义Key
[root@zabbix-agent ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
[root@zabbix-agent zabbix_agentd.conf.d]# vim count.line.passwd #自定义监控脚本
UserParameter=count.line.passwd, sed -n '$=' /etc/passwd #统计/etc/passwd有多少行
注:自定义key语法格式UserParameter=自定义key名称,命令
重启Agentd服务
[root@zabbix-agent ~]# killall zabbix_agentd #杀掉zabbix_agentd进程
[root@zabbix-agent ~]# zabbix_agentd #重启zabbix_agentd服务
测试自定义key是否生效
[root@zabbix-agent~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
登录监控服务器Web管理页面
√ 选择Configuration→>Templates创建模板
设置模板名称与组名称
√ Template name
√ Visible name
√ New group
模板添加后,默认模板中没有任何应用、项目、触发器、图形等
点击模板后面的Application,刷新出的页面中选择Create Application
设置Application name,点击Add
回到模板
√ Configuration→>Templates→>ltems→Create item
设置项目参数
项目名称
自定义key(必须与配置文件一致)
应用集选择刚刚创建的应用(Application)
与监控项目类似,为监控数据创建图形
设置图形参数
√ 填写名称
√ 图形类别(以此为线条、填充图、饼图、分割饼图)
√ 添加监控项目
Configuration>Hosts→选择主机
点击Templates,select选项监控项目,add添加
添加完成后,点击Update更新主机配置
点击图形查看
测试验证,批量创建用户
[root@zabbix-agent zabbix_agentd.conf.d]# for i in {1..10}
> do
> useradd a$i
> done
点击Monitoring→Craphs→>选择条件查看图形