共计 3706 个字符,预计需要花费 10 分钟才能阅读完成。
导读 | 官介:Zabbix 是一个企业级的分布式开源监控解决方案。它可以监控各种网络应用以及服务器健康性和完整性的软件。Zabbix 服务器将其数据存储在由 MySQL、MariaDB、PostgreSQL 或 Oracle 支持的关系型数据库中,Zabbix 所有的报告、统计信息和配置参数都可以通过基于 Web 的前端页面进行访问设置。而且 Zabbix 是开源免费的。 |
1. 安装环境(Hyper-V 虚拟机):
$ hostnamectl
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: renwoles1d8743989a40cb81db696400
Boot ID: renwoles272f4aa59935dcdd0d456501
Virtualization: microsoft
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.2.2.el7.x86_64
Architecture: x86-64
2. 由于 Zabbix UI 前端使用 PHP 写的,所以必须运行在支持 PHP 脚本语言的 Web 服务器,先决条件:
《Centos 7 编译安装 nginx》《Centos 7 编译安装 PHP 7 之生产篇》《Linux JAVA JDK JRE 环境变量安装与配置》《Centos 7 二进制安装 MariaDB(MySQL)数据库》
3. 若您的服务器已具备 PHP 环境,请略过第 2 步骤,继续以下配置:
配置 php.ini 必须满足以下要求:
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
#Zabbix PHP LDAP 认证开启(可选)extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303/ldap.so"
4. 安装依赖包并创建组 & 用户
$ yum -y install epel-release && yum -y update
$ yum install -y net-snmp-devel OpenIPMI-devel libssh2-devel iksemel-devel
$ groupadd zabbix
$ useradd -g zabbix zabbix
5. 安装 Zabbix Server
下载地址:https://www.zabbix.com/download
$ cd /tmp
$ tar -zxvf zabbix-3.4.2.tar.gz
$ cd zabbix-3.4.2
$ ./configure --prefix=/usr/local/zabbix \
--sysconfdir=/usr/local/zabbix/etc \
--enable-server \
--enable-agent \
--with-mysql=/usr/bin/mysql_config \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--enable-proxy \
--enable-ipv6 \
--enable-java \
--with-ssh2 \
--with-iconv \
--with-openipmi \
--with-ldap \
--with-openssl \
--with-jabber \
$ make
$ make install
注意:–enable-agent 可选,此参数主要用于客户端(被监控者)。
注意:如你未安装 JAVA 环境,请去掉 –enable-java 选项,主要用于监控 Tomcat。
6. 创建并赋予 Zabbix 配置文件目录权限
$ mkdir -p /usr/local/zabbix/logs
$ chown -R zabbix.zabbix /usr/local/zabbix
7. 将 Zabbix UI 前端程序源码拷贝到 Nginx Web 目录
$ cp -rf /tmp/zabbix-3.4.2/frontends/php/* /apps/web/zabbix
$ chown -R www.www /apps/web/zabbix
8. 创建数据库名:zabbix 用户:zabbix 密码:renwolecom 并赋予用户拥有该数据库所有权限:
$ mysql -uroot -p
Enter password:(输入 root 数据库密码回车)MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@"%" identified by 'renwolecom';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;
9. 将 Zabbix 相关结构表文件按顺序依次导入 zabbix 数据库
导入顺序 schema.sql 表结构 > images.sql 图片库 > data.sql 初始脚本
$ cd /tmp/zabbix-3.4.2/database/mysql
$ mysql -uzabbix -prenwolecom zabbix
10. 配置 zabbix_server.conf
配置完成后的内容如下:
$ egrep -v "^$|^#|^;" /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/zabbix_server.pid
LogFileSize=0
DBHost=10.10.204.62
DBName=zabbix
DBUser=zabbix
DBPassword=renwolecom
JavaGateway=10.10.204.62
JavaGatewayPort=10052
StartJavaPollers=5
StartPingers=4
Timeout=4
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/
注意:由于每个生产环境的参数配置不同,所以配置文件我只列出基本常用的,查看更多配置参数是说明。
11. 创建 systemctl 系统 Zabbix servers 单元文件
$ vim /usr/lib/systemd/system/zabbix.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/usr/local/zabbix/etc/zabbix_server.conf.d
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
12. 启动 zabbix 并加入开机自起动
$ systemctl start zabbix
$ systemctl enable zabbix
13.Firewalld 防火墙设置
$ firewall-cmd --permanent --add-port=10051/tcp
$ firewall-cmd --permanent --add-port=80/tcp
$ firewall-cmd --reload
安装完成。
接下来,你可以使用 IP 或域名访问 Zabbix 监控管理系统,具体设置,请根据 Zabbix Server Web 向导提示设置即可。
设置完成后,zabbix 默认账号:Admin 密码:zabbix(注意账号区分大小写)登录后是英文界面,只需点击右上角的小人图标(当前用户设置)定位到 Language 项,选择 Chinese (zh_CN),点击 Update 即可切换为中文界面