
1 理论部分
zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
2 服务端配置
2.1 环境
2.1.1 系统信息
OS = Oracle Linux 9.x x86_64
IP Address=10.168.0.160
Host Name=zabbix.cmdschool.org
系统基本配置,请参阅如下章节,
2.1.2 配置SELinux
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.1.3 调整系统时区
timedatectl set-timezone Asia/Shanghai
2.2 部署Mariadb
2.2.1 安装Mariadb
2.2.2 配置innodb引擎下表单独存储和字符集
vim /etc/my.cnf.d/mariadb-server.cnf
加入如下配置:
[mysqld] character-set-server=utf8 innodb_file_per_table=1
启动数据库并设置默认启动
systemctl restart mariadb.service
2.2.3 创建数据库zabbix
mysql -uroot -p create database zabbix default charset utf8; grant all privileges on zabbix.* TO 'zabbix'@'localhost' identified by 'zabbixpwd'; flush privileges;
2.3 配置Zabbix服务
2.3.1 yum源的安装
dnf install -y http://repo.zabbix.com/zabbix/7.4/release/oracle/9/noarch/zabbix-release-latest.el9.noarch.rpm dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent dnf install -y zabbix-get net-snmp-utils
2.3.2 导入数据表
gzip -d /usr/share/zabbix/sql-scripts/mysql/server.sql.gz mysql -uroot -p use zabbix source /usr/share/zabbix/sql-scripts/mysql/server.sql
2.3.3 配置数据库连接
vim /etc/zabbix/zabbix_server.conf
保证以下参数非注释状态并账号密码跟前面定义的一致:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpwd
2.3.4 启动服务并设置自启动
systemctl start zabbix-server systemctl enable zabbix-server systemctl start zabbix-agent systemctl enable zabbix-agent
启动服务后,你可以使用如下命令查看服务端口的倾听状态,
ss -antp | grep zabbix_
可见如下显示,
LISTEN 0 4096 0.0.0.0:10050 0.0.0.0:* users:(("zabbix_agentd",pid=9772,fd=4),("zabbix_agentd",pid=9771,fd=4),("zabbix_agentd",pid=9770,fd=4),("zabbix_agentd",pid=9769,fd=4),("zabbix_agentd",pid=9768,fd=4),("zabbix_agentd",pid=9767,fd=4),("zabbix_agentd",pid=9766,fd=4),("zabbix_agentd",pid=9765,fd=4),("zabbix_agentd",pid=9764,fd=4),("zabbix_agentd",pid=9763,fd=4),("zabbix_agentd",pid=9762,fd=4),("zabbix_agentd",pid=9761,fd=4),("zabbix_agentd",pid=9760,fd=4)) LISTEN 0 4096 0.0.0.0:10051 0.0.0.0:* users:(("zabbix_server",pid=9713,fd=10),("zabbix_server",pid=9712,fd=10),("zabbix_server",pid=9710,fd=10),("zabbix_server",pid=9708,fd=10),("zabbix_server",pid=9707,fd=10),("zabbix_server",pid=9706,fd=10),("zabbix_server",pid=9697,fd=10),("zabbix_server",pid=9696,fd=10),("zabbix_server",pid=9695,fd=10),("zabbix_server",pid=9694,fd=10),("zabbix_server",pid=9693,fd=10),("zabbix_server",pid=9692,fd=10),("zabbix_server",pid=9691,fd=10),("zabbix_server",pid=9690,fd=10),("zabbix_server",pid=9689,fd=10),("zabbix_server",pid=9667,fd=10),("zabbix_server",pid=9666,fd=10),("zabbix_server",pid=9665,fd=10),("zabbix_server",pid=9664,fd=10),("zabbix_server",pid=9663,fd=10),("zabbix_server",pid=9661,fd=10),("zabbix_server",pid=9660,fd=10),("zabbix_server",pid=9659,fd=10),("zabbix_server",pid=9658,fd=10),("zabbix_server",pid=9657,fd=10),("zabbix_server",pid=9656,fd=10),("zabbix_server",pid=9655,fd=10),("zabbix_server",pid=9654,fd=10),("zabbix_server",pid=9653,fd=10),("zabbix_server",pid=9652,fd=10),("zabbix_server",pid=9650,fd=10),("zabbix_server",pid=9649,fd=10),("zabbix_server",pid=9648,fd=10),("zabbix_server",pid=9647,fd=10),("zabbix_server",pid=9646,fd=10),("zabbix_server",pid=9644,fd=10),("zabbix_server",pid=9643,fd=10),("zabbix_server",pid=9641,fd=10),("zabbix_server",pid=9640,fd=10),("zabbix_server",pid=9638,fd=10),("zabbix_server",pid=9636,fd=10),("zabbix_server",pid=9635,fd=10),("zabbix_server",pid=9634,fd=10),("zabbix_server",pid=9633,fd=10),("zabbix_server",pid=9632,fd=10),("zabbix_server",pid=9631,fd=10),("zabbix_server",pid=9630,fd=10),("zabbix_server",pid=9629,fd=10),("zabbix_server",pid=9625,fd=10),("zabbix_server",pid=9624,fd=10),("zabbix_server",pid=9616,fd=10)) LISTEN 0 4096 [::]:10050 [::]:* users:(("zabbix_agentd",pid=9772,fd=5),("zabbix_agentd",pid=9771,fd=5),("zabbix_agentd",pid=9770,fd=5),("zabbix_agentd",pid=9769,fd=5),("zabbix_agentd",pid=9768,fd=5),("zabbix_agentd",pid=9767,fd=5),("zabbix_agentd",pid=9766,fd=5),("zabbix_agentd",pid=9765,fd=5),("zabbix_agentd",pid=9764,fd=5),("zabbix_agentd",pid=9763,fd=5),("zabbix_agentd",pid=9762,fd=5),("zabbix_agentd",pid=9761,fd=5),("zabbix_agentd",pid=9760,fd=5)) LISTEN 0 4096 [::]:10051 [::]:* users:(("zabbix_server",pid=9713,fd=11),("zabbix_server",pid=9712,fd=11),("zabbix_server",pid=9710,fd=11),("zabbix_server",pid=9708,fd=11),("zabbix_server",pid=9707,fd=11),("zabbix_server",pid=9706,fd=11),("zabbix_server",pid=9697,fd=11),("zabbix_server",pid=9696,fd=11),("zabbix_server",pid=9695,fd=11),("zabbix_server",pid=9694,fd=11),("zabbix_server",pid=9693,fd=11),("zabbix_server",pid=9692,fd=11),("zabbix_server",pid=9691,fd=11),("zabbix_server",pid=9690,fd=11),("zabbix_server",pid=9689,fd=11),("zabbix_server",pid=9667,fd=11),("zabbix_server",pid=9666,fd=11),("zabbix_server",pid=9665,fd=11),("zabbix_server",pid=9664,fd=11),("zabbix_server",pid=9663,fd=11),("zabbix_server",pid=9661,fd=11),("zabbix_server",pid=9660,fd=11),("zabbix_server",pid=9659,fd=11),("zabbix_server",pid=9658,fd=11),("zabbix_server",pid=9657,fd=11),("zabbix_server",pid=9656,fd=11),("zabbix_server",pid=9655,fd=11),("zabbix_server",pid=9654,fd=11),("zabbix_server",pid=9653,fd=11),("zabbix_server",pid=9652,fd=11),("zabbix_server",pid=9650,fd=11),("zabbix_server",pid=9649,fd=11),("zabbix_server",pid=9648,fd=11),("zabbix_server",pid=9647,fd=11),("zabbix_server",pid=9646,fd=11),("zabbix_server",pid=9644,fd=11),("zabbix_server",pid=9643,fd=11),("zabbix_server",pid=9641,fd=11),("zabbix_server",pid=9640,fd=11),("zabbix_server",pid=9638,fd=11),("zabbix_server",pid=9636,fd=11),("zabbix_server",pid=9635,fd=11),("zabbix_server",pid=9634,fd=11),("zabbix_server",pid=9633,fd=11),("zabbix_server",pid=9632,fd=11),("zabbix_server",pid=9631,fd=11),("zabbix_server",pid=9630,fd=11),("zabbix_server",pid=9629,fd=11),("zabbix_server",pid=9625,fd=11),("zabbix_server",pid=9624,fd=11),("zabbix_server",pid=9616,fd=11))
根据端口倾听的需求,我们需要配置防火墙开启如下端口,
firewall-cmd --permanent --add-service zabbix-server --add-service zabbix-agent firewall-cmd --reload firewall-cmd --list-all
2.4 配置Web服务
2.4.1 修改Zabbix服务配置文件
cp /etc/nginx/conf.d/zabbix.conf /etc/nginx/conf.d/zabbix.conf.default vim /etc/nginx/conf.d/zabbix.conf
修改如下参数,
server { listen 80; server_name zabbix.cmdschool.org; root /usr/share/zabbix/ui; index index.php; location = /favicon.ico { log_not_found off; } location / { try_files $uri $uri/ =404; } location /assets { access_log off; expires 10d; } location ~ /\.ht { deny all; } location ~ /(api\/|conf[^\.]|include|locale) { deny all; return 404; } location /vendor { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/run/php-fpm/zabbix.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /usr/share/zabbix/ui; fastcgi_param SCRIPT_FILENAME /usr/share/zabbix/ui$fastcgi_script_name; fastcgi_param PATH_TRANSLATED /usr/share/zabbix/ui$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
2.4.2 启动服务并设置开机默认启动
systemctl start nginx systemctl enable nginx
启动服务后,你可以使用如下命令查看服务端口的倾听状态,
ss -antp | grep nginx
可见如下显示,
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=10836,fd=6),("nginx",pid=10835,fd=6),("nginx",pid=10834,fd=6),("nginx",pid=10833,fd=6),("nginx",pid=10832,fd=6)) LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=10836,fd=7),("nginx",pid=10835,fd=7),("nginx",pid=10834,fd=7),("nginx",pid=10833,fd=7),("nginx",pid=10832,fd=7))
根据端口倾听的需求,我们需要配置防火墙开启如下端口,
firewall-cmd --permanent --add-service http firewall-cmd --reload firewall-cmd --list-all
2.5 初始化Zabbix服务
2.5.1 设置名称解析
echo '10.168.0.53 zabbix.cmdschool.org' >> /etc/hosts
注:生产环境请使用DNS服务,当前设置仅用于测试。
2.5.2 执行初始化
http://zabbix.cmdschool.org/
界面显示如下,
如上图所示,
“Default language”选择“English (en_us)”
单击【Next setp】进入下一个配置
如上图所示,
检查PHP模块的状态,如果异常需要安装,如果无需安装。
单击【Next setp】进入下一个配置
如上图所示,
“Database type”选择“MySQL”
“Database Host”填写“localhost”
“Database port”填写“3306”
“Database name”填写“zabbix”
“Store credentials in”选择“Piain text”
“User”填写“zabbix”
“Password”填写“zabbixpwd”
单击【Next setp】进入下一个配置
如上图所示,
“Zabbix server name”填写“zabbix.cmdschool.org”
“Default time zone”选择“(UTC+08:00)Asia/Shanghai”
“Default theme”选择“Blue”
“Database name”选择“zabbix”
“Encrypt connections from Web interface”选择“false”
单击【Next setp】进入下一个配置
如上图所示,
直接单击【Next setp】进入下一个配置
如上图所示,
直接单击【Finish】完成配置
2.5.3 登陆服务
如上图所示,
“Username”填写“admin”
“Password”填写“zabbix”
“Remember me for 30 days”选择“True”
单击【Sign in】进入管理页面
参阅资料:
======================================================
http://www.zabbix.com/
软件包地址:
http://www.zabbix.com/download.php
Manual:
http://www.zabbix.com/documentation.php
安装方法:
https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages
MySQL配置方法:
https://www.zabbix.com/documentation/2.4/manual/appendix/install/db_scripts
没有评论