共计 3611 个字符,预计需要花费 10 分钟才能阅读完成。
Zabbix 简介
Zabbix 是一个高度集成的企业级开源网络监控解决方案,与 Cacti、nagios 类似,提供分布式监控以及集中的 web 管理界面。zabbix 具备常见商业监控软件所具备的功能,例如主机性能监控,网络设备性能监控,数据库性能监控,ftp 等通用协议的监控,能够灵活利用可定制警告机制,允许用户对事件发送基于 E -mail 的警告,保证相关人员可以快速解决。还能够利用存储数据提供杰出的报表及实时的图形化数据处理,实现对监控主机 7 ×24 小时集中监控。
Zabbix 通过 C / S 模式采集数据通过 B / S 模式在 web 端展示和配置,通过 SNMP 协议传输,而被监控对象只需要支持 SNMP 协议或者运行 Zabbix-agents 代理程序即可。服务端监听端口为 10051,而被监控端即 Zabbix-agents 代理程序监控 10050 端口。
实验环境
主机 | 操作系统 | IP 地址 | 主要软件 |
---|---|---|---|
zabbix 服务端 | CentOS7.0 x86_64 | 10.1.28.70 | zabbix-server4.0 |
Linux 被监控端 | centos7.0 x86_64 | 10.1.28.253 | zabbix-agent4.0 |
Zabbix 服务端环境部署
1、环境准备
由于 zabbix 提供集中的 web 监控管理界面,因此服务在 web 界面的呈现需要 LAMP 架构支持。
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
编辑配置 httpd
vim /etc/httpd/conf/httpd.conf
ServerName zabbix
DirectoryIndex index.html index.php // 添加首页支持格式
编辑配置 php,配置中国时区
vim /etc/php.ini
date.timezone = PRC //PRC 为中国时区
启动 httpd,mysq
systemctl stop firewalld.service
setenforce 0
systemctl start httpd.service
systemctl start mariadb.service
netstat -ntap | egrep ‘(80|3306)’
启动 msyql 后执行初始安全设置。
mysql_secure_installation
mysql -u root -p
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO ‘zabbix’@’%’ IDENTIFIED BY ‘123456’; // 创建 zabbix 数据库,并设定用户密码
flush privileges;
数据库设置完成,检测 php 与数据库连通情况
vim /var/www/html/index.php
<?php
$link=mysql_connect(‘10.1.28.70′,’zabbix’,’123456′);
if($link) echo “<h1>Success!!</h1>”;
else echo “Fail!!”;
mysql_close();
?>
在网页中输入 zabbix 主机 ip 地址显示 Success 表示连通数据库成功
为保证 zabbix 用户也可以登录数据库,若出现本地无法登录情况,解决方式如下。
使用 root 账户登录数据库
select user,host from mysql.user; // 有空用户名称占用导致本地无法登录远程可登录
+——–+———–+
| user | host |
+——–+———–+
| zabbix | % |
| root | 127.0.0.1 |
| root | ::1 |
| | cacti |
| root | cacti |
| | localhost |
| root | localhost |
+——–+———–+
drop user ”@localhost; // 删除空用户
drop user ”@cacti;
flush privileges;
2、部署 Zabbix Server
yum install php-bcmath php-mbstring -y 安装 php 支持 zabbix 组件
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm // 会自动生成 yum 源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql -y 安装 zabbix 组件
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix // 生成数据库文件, 注意密码不要输成 root 的
查看、修改 zabbix 配置文件
grep -n ‘^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
90:DBHost=127.0.0.1
91:DBName=zabbix
107:DBUser=zabbix
108:DBPassword=123456
287:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
413:Timeout=4
455:AlertScriptsPath=/usr/lib/zabbix/alertscripts
465:ExternalScripts=/usr/lib/zabbix/externalscripts
501:LogSlowQueries=3000
修改 zabbix 在 httpd 中的时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
zabbix 基本配置完成,启动服务,实现 web 界面安装
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix // 监听在 10051 端口上
systemctl restart httpd.service
web 界面安装访问。
zabbix 被监控端代理设置
安装 zabbix-agent 客户端
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
yum install -y zabbix-agent
编辑修改配置文件
grep -n ‘^'[a-Z] /etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
95:Server=10.1.28.70 //zabbix 服务器地址
136:ServerActive=10.1.28.70 // 活跃服务器地址
147:Hostname=zabbix_agent
265:Include=/etc/zabbix/zabbix_agentd.d/*.conf
关闭防火墙,启动服务
systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
netstat -anpt | grep zabbix // 监听在 10050 端口
以上是整个配置过程
: