介绍
Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件 Zabbix 使用灵活的通知机制, 允许用户为几乎任何事件配置基于邮件的告警这样可以快速反馈服务器的问题基于已存储的数据, Zabbix 提供了出色的报告和数据可视化功能这些功能使得 Zabbix 成为容量规划的理想方案
新版已经到 3.4 版本了, 由文章 16 年底就已经写好了一直忘了发布, 所以介绍的还是 2.4 版本的安装介绍, 但是内容和新版本的没有多少差别
安装前提:
1. 配置时间网络自动同步参考: http://www.cnblogs.com/chenmh/p/5485829.html
2. 关闭 selinux
3. 安装 mysql 参考: http://www.cnblogs.com/chenmh/p/5413881.html
监控端 ip:192.168.1.9
代理端 ip:192.168.1.100
一监控端安装
1. 安装 php 和 httpd
yum - y install php httpd
2. 安装 rpm 源
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
3. 安装 zabbix_server,web,agent
yum install zabbix - server - mysql zabbix - web - mysql zabbix - agent zabbix - get.x86_64
4. 创建数据库导入表
创建数据库
create database zabbix;
导入表结构
cd /usr/share/doc/zabbix-server-mysql-2.4.8/create/
注意: 这里的路径会基于版本号的不同有所差别
- mysql -uroot -p zabbix < schema.sql
- mysql -uroot -p zabbix < images.sql
- mysql -uroot -p zabbix < data.sql
在 3.0 版本之后这三个 sql 文件合并成了一个文件可以使用 zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
创建监控用户
- grant all privileges on zabbix. * to 'zabbix'@'%'identified by 'zabbix';
- flush privileges;
注意: 这里的 hostname 指定 % 比较好一点, 否则就指定实际的机器名, 为了不必要的麻烦这里还是使用 %, 密码可以设复杂一点.
5. 服务端文件配置
- mkdir -p /etc/zabbix/alertscripts
- mkdir -p /etc/zabbix/externalscripts
- vim /etc/zabbix/zabbix_server.conf
- LogFile=/var/log/zabbix/zabbix_server.log
- PidFile=/var/run/zabbix/zabbix_server.pid
- DBHost=192.168.1.9
- DBName=zabbix
- DBUser=zabbix
- DBPassword=zabbix
- DBSocket=/tmp/mysql.sock
- SNMPTrapperFile=/var/log/snmptt/snmptt.log
- AlertScriptsPath=/etc/zabbix/alertscripts
- ExternalScripts=/etc/zabbix/externalscripts
- Timeout=20
注意: 这里的 DBHostDBNameDBUserDBPassword 必须和前面创建的监控用户保持一致 DBHost 使用 IP, 除非上面创建监控用户指定的 hostname 是服务器名, 为了不必要的麻烦还是使用 IP
6. 配置服务启动
添加开机启动项
- chkconfig --add zabbix-server
- chkconfig zabbix-server on
启动服务 zabbix-server
service zabbix - server restart
7. 开启防火墙端口
vim / etc / sysconfig / iptables
二 web 端配置
1. 服务配置
先启动 httpd
service httpd restart
打开浏览器输入: http://ip/zabbix
这一步必须保证所有的选项都正常这些参数可能需要修改, 修改文件 / etc/php.ini
- date.timezone=Asia/Shanghai
- memory_limit=128M
- post_max_size=16M
- max_execution_time=300
- max_input_time=300
- session.auto_start = 0
如果发现还有其他的相关参数不正常, 可以根据参数名称直接去 / etc/php.ini 文件中去查找该参数根据要求值进行修改 (通常这里只需要修改 date.timezone)
注意: 如果修改过 / etc/php.ini 参数记得重启 httpd 服务
这里使用的数据库连接是前面创建的监控用户, 保证测试连接正常
数据库的相关配置连接信息最终会写入文件 / etc/zabbix/web/zabbix.conf.php
配置完后会生成一个 web 端的文件 / etc/httpd/conf.d/zabbix.conf
2. 汉化 zabbix
vim /usr/share/zabbix/include/locales.inc.php 修改第 55 行代码为 (这一步通常是正常的不需要修改)
'zh_CN' = >['name' = >_('Chinese (zh_CN)'), 'display' = >true]
在当前的 windows 电脑 C:\Windows\Fonts \ 目录下找到微软雅黑 常规; 重命名 msyh.ttf 放到目录 / usr/share/zabbix/fonts / 下
修改文件
sed - i "s/graphfont/msyh/g" / usr / share / zabbix / include / defines.inc.php
三 linux 代理端安装
监控端同时需要安装了代理端监控, 单独的监控服务器安装 linux 代理端如下
1. 安装 rpm 源
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
2. 安装 zabbix_agent
yum install zabbix - agent zabbix - sender.x86_64
3. 配置文件
- PidFile=/var/run/zabbix/zabbix_agentd.pid
- LogFile=/var/log/zabbix/zabbix_agentd.log
- LogFileSize=0
- Server=192.168.1.9
- #ServerActive=192.168.1.9
- Hostname=192.168.1.100
- Include=/etc/zabbix/zabbix_agentd.d/
- Timeout=20
Server: 监控端 IP
ServerActive: 监控端 IP, 如果使用监控端主动式就需要配置该参数, 否则可以不配置
Hostname: 代理端 IP
4. 监控 mysql
如果想监控 mysql, 在代理端的 / etc/zabbix 目录下创建. my.cnf 文件
- [mysql]
- host = localhost
- user = zabbix_agent
- password = zabbix_agent
- [mysqladmin]
- host = localhost
- user = zabbix_agent
- password = zabbix_agent
注意: 需要在 mysql 中创建 zabbix_agent 用户
- grant all privileges on zabbix. * to 'zabbix_agent'@'localhost'identified by 'zabbix_agent';
- flush privileges;
四 Windows 代理端安装
下载 windows 代理端压力包解压到 C:\zabbix 目录, 再在 C:\zabbix 目录下创建 log 文件夹
1. 配置文件
修改 C:\zabbix\conf\zabbix_agentd.win.conf
- LogFile=C:\zabbix\log\zabbix_agentd.log
- Server=192.168.1.9
- #ServerActive=192.168.1.9
- Hostname=192.168.1.100
- Timeout=20
2. 添加服务
C: \zabbix\bin\win64\zabbix_agentd.exe - c C: \zabbix\conf\zabbix_agentd.win.conf - i
五其它
1.zabbix_get
在监控端运行 zabbix_get 查看 agent 端的通信状态, 返回 1 通信正常, 否则查看代理是否启动, 防火墙是否阻止
zabbix_get - s 192.168.137.100 - p 10050 - k 'agent.ping'
2. 重启服务
1. 监控端
- service httpd restart
- service zabbix-server restart
2. 代理端
service zabbix - agent restart
3. 修改服务端 IP
zabbix 服务端修改 IP 需要修改的地方有如下
- /etc/sysconfig/network-scripts/
- zabbix/zabbix_server.conf
- zabbix/zabbix_agentd.conf
- zabbix/web/zabbix.conf.php
- /etc/hosts
- service network restart
- service zabbix-server restart service zabbix-agent restart
4. 导出 windows 性能监视器参数
- typeperf -q > D:\counters.txt
- typeperf -qx > D:\counters.txt
总结
在配置的过程中有几个地方需要注意, 要关闭 selinux 同时注意防火墙的影响; 可以在防火墙中加入端口号: 监控端 10051 代理端 10050; 无论是监控端还是代理端如果修改了配置文件和相关参数都记得要重启服务, 否则可能导致不可用
来源: https://www.cnblogs.com/chenmh/p/6710806.html