文章目录
- 一、基本了解
- 二、配置文件详解
- 2.1 服务端配置文件
- 2.2 客户端配置文件
- 三、源码安装
- 3.1 安装服务端
- 3.2 配置web前端文件
- 3.3 访问网页
一、基本了解
前提背景:
- Zabbix是一个企业级分布式开源监控解决方案,由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。
- Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性,基于存储的数据提供出色的报表和数据可视化功能。
- Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。
特点:
- 安装与配置简单,学习成本低;支持多语言(包括中文)
- 免费开源;能自动发现服务器与网络设备。
- 分布式监视以及WEB集中管理功能,可以无agent监视。
- 用户安全认证和柔软的授权方式。
- 通过WEB界面设置或查看监视结果。
- email等通知功能
主要功能:
- 系统:内存、cpu、磁盘使用率,监控文件是否被修改。
- 网络:流量、路由器、交换机、防火墙。
- 业务:服务进程和日志。
- 硬件:电源、温度
二、配置文件详解
配置文件种类:
- 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
- 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
- zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)
2.1 服务端配置文件
参数 | 作用 |
---|---|
LogFile | 设置服务端日志文件存放路径 |
ListenIP | 设置服务端监听IP |
ListenPort | 设置服务端监听的端口号 |
PidFile | 设置服务端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器IP |
DBName | 指定zabbix使用的数据库库名 |
DBUser | 指定zabbix数据库登录用户 |
DBPassword | 指定zabbix数据库登录密码 |
DBPort | 指定zabbix数据库端口号 |
User | 设置zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放路径 |
ExternalScripts | 外部脚本存放路径 |
2.2 客户端配置文件
参数 | 作用 |
---|---|
Server | 指定zabbix服务器的IP或域名 |
ServerActive | 指定zabbix服务器的IP或域名 |
Hostname | 指定本机的主机名,此项必须与web界面配置项一致 |
UnsafeUserParameters | 是否启用自定义监控项,可选值为{1 |
UserParameter | 指定自定义监控脚本参数 |
LogFile | 设置客户端日志文件存放路径 |
三、源码安装
- zabbix使用php语言开发,需先部署lamp架构,使其能够支持运行php网页,参考Linux基础服务7——lamp架构。
环境说明:
环境 | IP | 要安装的应用 |
---|---|---|
服务端 | 192.168.130.160 | lamp架构 zabbix server zabbix agent |
客户端 | 192.168.130.161 | zabbix agent |
3.1 安装服务端
1.下载安装包并解压,官网。
wget https://cdn.zabbix.com/zabbix/sources/oldstable/5.2/zabbix-5.2.7.tar.gz
tar zxf zabbix-5.2.7.tar.gz
2.安装依赖包。
yum -y install net-snmp-devel libevent-devel
3.创建用户。
useradd -r -M -s /sbin/nologin zabbix
4.创建zabbix数据库。
//创建授权用户,并设置密码,刷新权限。
mysql -uroot -pcitms -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -uroot -pcitms -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql -uroot -pcitms -e "flush privileges;"
//导入基础数据,需按照顺序导入。
cd zabbix-5.2.7/database/mysql/
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
5.编译安装zabbix。
cd ../../
//开始编译。
./configure --enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2
//开始安装。
make install
6.修改zabbix配置文件,添加数据库zabbix用户连接密码。
vim /usr/local/etc/zabbix_server.conf
DBPassword=zabbix 取消注释,并填写密码
7.启动服务端,客户端。
zabbix_server
zabbix_agentd
3.2 配置web前端文件
1.提供前端文件。
//自定义前端文件存放位置,将安装包里默认的前端文件放入该目录,并修改文件权限。
mkdir /usr/local/apache/htdocs/zabbix
cp -a /opt/zabbix-5.2.7/ui/* /usr/local/apache/htdocs/zabbix/
chown -R apache.apache /usr/local/apache/htdocs/
//配置虚拟主机。
vim /etc/httpd24/extra/vhosts.conf
<VirtualHost *:80>
DocumentRoot "/usr/local/apache/htdocs/zabbix" //指定前端文件。
ServerName qingjun.zabbix.com //自定义域名。
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix //指定前端文件。
<Directory "/usr/local/apache/htdocs/zabbix> //授权前端文件。
Require all granted
</Directory>
</VirtualHost>
2.IP/zabbix访问网页,开始配置。
3.修改php参数,重启php,再刷新网页。
//修改/etc/php.ini的配置并重启php-fpm。
sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
service php-fpm restart
4.设置zabbix前端文件目录权限,让zabbix有权限生成配置文件zabbix.conf.php,再刷新网页。注意修改后完成了web页面的配置后需要将权限设置回去。
chmod 777 /usr/local/apache/htdocs/zabbix/conf
3.3 访问网页
1.登录zabbix,默认用户密码:Admin/zabbix。
2.将zabbix前端文件目录权限恢复回来,设置域名访问。
chmod 755 /usr/local/apache/htdocs/zabbix/conf