在 Linux 下搭建 Zabbix (5.0) 监控平台
Zabbix 作为一款开源的运维管理软件,可以监控操作系统性能指标、中间件运行状态及 web页面 健康,另外还可以进一步实现自动化运维,实现对业务级别的监控管理。
一、实验平台:CentOS 7.6.1810
二、Zabbix:Zabbix5.0
zabbix 5.0 版本于 2020 年 5 月 11 日正式发布,是最新的 LTS(长期支持)版本。
步骤:
一、安装 Zabbix
5.0
版本对基础环境的要求有大的变化,最大的就是对php
版本的要求,最低要求7.2.0
版本,对php
扩展组件版本也有要求,详见官网文档
https://www.zabbix.com/documentation/current/manual/installation/requirements
- yum 安装
1.安装 zabbix
官方源
https://www.zabbix.com/cn/download
$ rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#会在 /etc/yum.repos.d 目前下生成 zabbix.repo
2.安装 epel
源
$ rpm -ivh https://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm
#会在 /etc/yum.repos.d 目前下生成 epel.repo
3.查看本机 zabbix 包
$ rpm -qa | grep zabbix
zabbix-release-4.2-1.el7.noarch #刚安装的 zabbix repo 源
4.安装 Zabbix
$ yum -y install zabbix-server-mysql zabbix-agent
#zabbix-server-mysql 服务端
#zabbix-agent 子机 agent 收集监控信息推送给 服务端
如果 zabbix
下载太慢可以使用国内镜像
$ sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
5.启用 Red Hat
软件集合
SCL(Software Collections)
可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包
$ yum -y install centos-release-scl
#会在 /etc/yum.repos.d 目前下生成 CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.repo
6.安装 zabbix-web
5.0
没有启用前端源,需手动开启
$ vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
安装
$ yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
#zabbix-apache-conf-scl 是使用 Apache httpd,如果想使用 Nginx 用以下命令
$ yum -y install zabbix-nginx-conf-scl
7.若使用 Nginx
需要配置这一步,使用 Apache httpd
请省略这一步
#为Zabbix前端配置PHP
$ vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 443 ssl;
server_name monitor.kjarbo.com;
#增加nginx
$ vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx
- 源码安装
1.安装依赖
$ yum -y install unixODBC-devel net-snmp-devel libevent-devel libxml2-devel libcurl-devel wget gcc gcc-c++ mysql-devel net-snmp-devel httpd
2.下载官网源码包
https://cdn.zabbix.com/zabbix/sources/
$ wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.0.tar.gz
3.编译安装
$ tar xf zabbix-5.0.0.tar.gz
$ cd zabbix-5.0.0.tar.gz
$ sudo yum -y install net-snmp-devel OpenIPMI-devel libevent-devel
#安装依赖,否则会有以下报错
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
checking for OPENIPMI support... no
configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h
checking for libevent support... no
configure: error: Unable to use libevent (libevent check failed)
$ ./configure --prefix=/data/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-openipmi
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
$ make && make install
4.导入数据库,省略数据库安装,可看第二安装数据库
$ cd /root/zabbix-5.0.0/database/mysql
$ ls -l
total 9060
-rw-r--r--. 1 1000 1000 7097625 May 11 17:19 data.sql
-rw-r--r--. 1 1000 1000 1978341 May 11 01:36 images.sql
-rw-r--r--. 1 root root 16717 Aug 13 06:28 Makefile
-rw-r--r--. 1 1000 1000 468 May 11 01:36 Makefile.am
-rw-r--r--. 1 1000 1000 15823 May 11 17:18 Makefile.in
-rw-r--r--. 1 1000 1000 156239 May 11 17:19 schema.sql
按顺序导入 schema.sql --> images.sql --> data.sql
5.拷贝 zabbix
前端文件到 apache
默认 web
目录,使用 Nginx
的话就放到 nginx
的默认路径
$ cp -rp /root/zabbix-5.0.0/ui/ /var/www/html/
6.配置 PHP
$ sed -i 's#post_max_size = 8M#post_max_size = 16M#' /etc/php.ini
$ sed -i 's#max_execution_time = 30#max_execution_time = 300#' /etc/php.ini
$ sed -i 's#max_input_time = 60#max_input_time = 300#' /etc/php.ini
$ sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#' /etc/php.ini
$ systemctl restart php-fpm
7.编辑配置文件
$ vim /usr/local/zabbix-server/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
#前两项创建数据库是配置相同不用修改
DBPassword=Zabbix123.
#默认注释,填写刚刚设置的密码
8.启动
$ groupadd --system
$ useradd --system -g zabbix-d /usr/local/zabbix_server/ -s /sbin/nologin -c "Zabbix Monitor System" zabbix
$ chown -R /usr/local/zabbix-server/
#zabbix 编译安装不允许 root 运行
$ /usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf
二、安装数据库及配置
1.安装mysql
,这里使用 rpm
快捷安装,具体看你环境来安装 MySQL
$ rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
#会在 /etc/yum.repos.d 目前下生成 mysql-community-source.repo mysql-community.repo
$ yum -y install mysql-community-server
2.修改 my.cnf
$ vim /etc/my.cnf
character-set-server=utf8
innodb_file_per_table=1
3.启动 mysql
$ systemctl enable mysqld
$ systemctl start mysqld
4.配置 zabbix 库
$ grep password /var/log/mysqld.log
2020-08-11T23:32:56.239608Z 1 [Note] A temporary password is generated for root@localhost: hO?NyKf%x6lY
$ mysql -u root -phO?NyKf%x6lY
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'zabbix123';
> create database zabbix character set utf8 collate utf8_bin;
> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix123';
> flush privileges;
5.导入初始架构和数据
$ zcat /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz | mysql -uzabbix -pZabbix123. zabbix
6.修改 zabbix
配置文件
$ vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
#前两项创建数据库是配置相同不用修改
DBPassword=Zabbix123.
#默认注释,填写刚刚设置的密码
7.修改 zabbix
的 php
配置文件的时区
$ vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
8.启动
$ systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
$ systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
#若装的 Nginx ,需要将 httpd 换成默认 rh-nginx116-nginx
三、Web界面配置
1.登录
http://10.10.12.6/zabbix/
点击 Next step
查看所需依赖,确保没有任何 No
点击 Next step
Port 0
表示使用默认的
填写一个用户
确认信息
配置完成
登录
账号默认:Admin
密码默认:zabbix
修改为中文
修改默认密码
四、编译安装一些 zabbix 的启动脚步
1.zabbix-server
$ vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service
[Service]
Environment="CONFFILE=/usr/local/zabbix_server/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix_server/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
#服务路径自行修改
2.zabbix-agent
$ vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix_server/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix_server/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
五、遇到的报错
解决报错
$ cd /usr/share/zabbix/conf
$ mv zabbix.conf.php.example zabbix.conf.php
$ vim zabbix.conf.php
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'Zabbix123.';
#填写相应数据库信息
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1305 0 2020-08-12
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2025-01-18
今日天气
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:14条
- 本站总访问量 365502 次
@svmuvwpuqi 真棒!
@smdxydrauu 博主太厉害了!
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...