zabbix分布式系统监视
一、前言
- Zabbix是一个企业级分布式开源监控解决方案。
- 支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标。
- Zabbix是完全开源免费的,其公司还为全球用户提供专业的技术支持服务
本实验将通过zabbix自定义监控nginx,并且将监控数据导入到mysql。
二、zabbix连接mysql服务
server1 172.25.42.1 zabbix监控端、zabbix代理端、数据存放端
server1
一、配置软件仓库(真机已经将zabbix包发布到http服务上)
server1、server2
vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://172.25.51.250/4.0/
gpgcheck=0
//
二、监控主机安装软件,修改配置
#server1
1、安装软件
yum install zabbix-server-mysql.x86_64 安装基于mysql的zabbix监控端
yum install zabbix-web-mysql.noarch 安装能提供网页连接的zabbix服务
yum install zabbix-agent.x86_64 安装zabbix代理端(被监控端)
yum install zabbix-proxy-mysql.x86_64
2、配置Zabbix数据库信息
systemctl enable --now mariadb.service
mysql_secure_installation 初始化,设置root的密码为westos
mysql -pwestos root用户登陆
create database zabbix character set utf8 collate utf8_bin; 创建zabbix库
create user 'zabbix'@'localhost' identified by 'westos'; 创建zabbix用户,密码为westos
grant all privileges on zabbix.* to 'zabbix'@'localhost'; 为zabbix用户授予zabbixx库的权限
3、将库文件导入到zabbix库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pwestos zabbix
zcat /usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz | wc -l
4、更改配置文件
vim /etc/zabbix/zabbix_agentd.conf 图1、设置zabbix连接mysql的密码
vim /etc/httpd/conf.d/zabbix.conf 图2、修改http中zabbix时区(修改前端配置)
图1
图2
5、启动服务
systemctl enable --now zabbix-server.service
systemctl enable --now zabbix-agengt
systemctl restart httpd
三、开启zabbix服务
http访问172.25.42.1/zabbix
密码是westos
默认的用户Admin,初始密码是zabbix
会自动开启服务器,如下图所示
四、代理端安装软件,修改配置
当zabbix服务可以正常服务时,开始对代理端进行操作。
server2
可通过server1或者自己配置软件仓库获取zabbix-agent-4.0.5-1.el7.x86_64.rpm安装包
rpm -ivh zabbix-agent-4.0.5-1.el7.x86_64.rpm 解压
vim /etc/zabbix/zabbix_agentd.conf 图1、图2、修改配置文件
systemctl enable --now zabbix-agent 重启服务
图1
图2
server3
和server2一样下载软件,更改配置文件,然后启动zabbix代理端
systemctl enable --now zabbix-agent
三、zabbix客户端配置以及添加监控主机
发现主机有两种常用方式,手动搜索主机、自动添加主机(分为自动添加,自动注册)
一、手动搜索主机,添加客户端配置
填写名称,群组和代理的ip
添加模板
效果
二、自动注册
创建动作
设置操作
设置搜索条件
最终添加成功
四、添加zabbix-nginx监控
server2
1、编译安装nginx
tar zxf nginx-1.20.1.tar.gz
cd nginx-1.20.1/
yum install gcc pcre-devel zlib-devel -y #解决依赖性
./configure --prefix=/usr/local/nginx --with-http_stub_status_module #预编译,这里添加了http的监控模块
make && make install
2、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
3、执行命令
nginx 打开nginx服务
netstat -antlupe | grep 80
curl 127.0.0.1/status 检测是否部署成功
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
/其中含义
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了3个连接 , 成功创建3次握手,
总共处理了3个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
4、手动收集nginx
curl -s 127.0.0.1/status | awk 'NR==3{print $1}' 图1
cd /etc/zabbix/zabbix_agentd.d/
cp userparameter_mysql.conf userparameter_nginx.conf 生成新的模板文件_nginx.conf
vim userparameter_nginx.conf
///
UserParameter=nginx.accept,curl -s 127.0.0.1/status | awk 'NR==3{print $1}'
///
systemctl restart zabbix-agent.service
5、校验
yum install zabbix-get -y
zabbix_get -s 172.25.42.2 -p 10050 -k "nginx.accept" ##测试是否可以获取到数据;如果有报错,请仔细检查文件内容;这里的nginx.active是文件对应的UserParameter的内容
6、创建图形
如果测试没有问题,进行zabbix浏览器监控界面完成自定义添加监控项
7、结果
8、解决字体问题
cd /usr/share/zabbix/fonts
ll
cp simkai.ttf /usr/share/zabbix/fonts
rm -fr graphfont.ttf
ln -s simkai.ttf graphfont.ttf