在 Linux 下搭建 Zabbix (5.0) 监控平台

文章
林里克斯

Zabbix 作为一款开源的运维管理软件,可以监控操作系统性能指标、中间件运行状态及 web页面 健康,另外还可以进一步实现自动化运维,实现对业务级别的监控管理。

在 Linux 下搭建 Zabbix (5.0) 监控平台


一、实验平台: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

点我查看以三种方式安装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.修改 zabbixphp 配置文件的时区

$ 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

在 Linux 下搭建 Zabbix (5.0) 监控平台

查看所需依赖,确保没有任何 No 点击 Next step

在 Linux 下搭建 Zabbix (5.0) 监控平台

Port 0表示使用默认的

在 Linux 下搭建 Zabbix (5.0) 监控平台

填写一个用户

在 Linux 下搭建 Zabbix (5.0) 监控平台

确认信息

在 Linux 下搭建 Zabbix (5.0) 监控平台

配置完成

在 Linux 下搭建 Zabbix (5.0) 监控平台

登录
账号默认:Admin
密码默认:zabbix

在 Linux 下搭建 Zabbix (5.0) 监控平台

修改为中文

在 Linux 下搭建 Zabbix (5.0) 监控平台

修改默认密码

在 Linux 下搭建 Zabbix (5.0) 监控平台


四、编译安装一些 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

五、遇到的报错


在 Linux 下搭建 Zabbix (5.0) 监控平台

解决报错

$ 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 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

723 0 2020-08-12


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-03-29

今日天气
站点统计
  • 文章总数:240篇
  • 分类总数:29个
  • 评论总数:10条
  • 本站总访问量 208654 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!