天天看点

@zabbix(5.0)客户端与服务端部署安装

文章目录

  • ​​zabbix(5.0)部署安装​​
  • ​​一、zabbix客户端​​
  • ​​二、客户端部署( zabbix-agent2 安装 )​​
  • ​​1、机器准备​​
  • ​​2、环境优化(所有机器)​​
  • ​​3、安装zabbix​​
  • ​​三、zabbix服务端部署​​
  • ​​1、zabbix 5.0版本基本要求​​
  • ​​2、部署安装插件服务端​​
  • ​​3、部署zabbix数据库​​
  • ​​4、安装字符插件(web字符乱码)​​
  • ​​四、zabbix添加web(自定义key)​​

zabbix(5.0)部署安装

www.zabbix.com[官网]

一、zabbix客户端

1)agent2新版本采用golang语言开发的客户端

2)agent2默认是10050端口,也就是zabbix客户端的端口

# 旧版本客户端: zabbix-agent
# 新版本客户端: zabbix-agent2      

二、客户端部署( zabbix-agent2 安装 )

1、机器准备

机器准备 IP 服务名称 环境准备
zabbix服务端 13.75.120.200 zabbix-server 关闭防火墙和selinux
zabbix客户端 13.75.120.200 zabbix-agent2 关闭防火墙和selinux
zabbix客户端 13.75.120.200 zabbix-agent2 关闭防火墙和selinux

2、环境优化(所有机器)

1、时间同步
[root@test ~]# yum -y install ntpdate
[root@test ~]# ntpdate ntp.aliyun.com
#加入定时任务
[root@test ~]# crontab -l 
# 每五分钟时间同步一次
*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com &> /dev/null


2、时区同步
#设定时区:
timedatectl set-timezone "Asia/Shanghai"
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime



3、关闭防火墙与selinx
#关闭selinux
[root@test ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@test ~]# setenforce 0
[root@test ~]# getenforce 0
Permissive
#关闭防火墙
[root@test ~]# systemctl stop firewalld.service      # 临时关闭irewalld防火墙
[root@test ~]# systemctl disable firewalld.service   # 加入不让其开机自启动      

3、安装zabbix

1、获取zabbix官方源
[root@test ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 



2、修改配置源文件
[root@test ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@test ~]#  yum clean all && yum makecache



3、安装zabbix-agent2或zabbix-agent
[root@zabbix1 yum.repos.d]# yum install zabbix-agent2 -y




4、安装并查看zabbix-agent2配置文件
[root@test ~]# ls -l /usr/sbin/zabbix_agent2 
-rwxr-xr-x. 1 root root 17721128 Aug 30 17:32 /usr/sbin/zabbix_agent2



5、启动zabbix-agent2
[root@test ~]# systemctl enable --now zabbix-agent2.service



6、检查启动状态
[root@test ~]# netstat -lntp |grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      5312/zabbix_agent2 



7、配置文件修改
# zabbix-agent2 客户端配置
[root@test ~]# vim  /etc/zabbix/zabbix_agent2.conf
[root@test ~]# egrep -v '^$|^#' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1              # zabbix-server服务端IP
ServerActive=127.0.0.1        # zabbix-server服务端IP
Hostname=zabbix server        # zabbix server本机地址
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock



8、重新启动(生效配置文件)
[root@test ~]# systemctl restart zabbix-agent2.service 
9、查看服务是否启动
[root@test ~]# netstat -lntp |grep 10050
tcp6       0      0 :::10050                :::*                    LISTEN      5469/zabbix_agent2      

三、zabbix服务端部署

1、zabbix 5.0版本基本要求

1、zabbix 5.0后 版本后 对php版本至少7.0

2、2G2核

3、zabbix-server服务端安装

2、部署安装插件服务端

1、下载epel源
[root@test ~]# yum install epel-release -y


2 、获取zabbix官方源(安装过可忽略)
[root@test ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 


3、修改配置源文件
#更改源地址
[root@test ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#清空即生成缓存
[root@test ~]# yum clean all && yum makecache




4、安装zabbix server和zabbix-agent2(可忽略)
[root@test ~]# yum install zabbix-server-mysql zabbix-agent2 -y



5、安装software collections便于安装高版本的php (yum默认php是5.4)
SCL(Software Collections)可以让同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包,软件包会安装在/opt/rh目录下。
为了避免系统广泛冲突,/opt/rh包安装在目录中,例如,允许在CentOS7机器上安装Python3.8,而不会删除或干扰Python2.7。
/etc/opt/rh软件包所有的配置文件都存储在目录中相应的目录中,SCL包提供了定义使用所包含应用程序所需的环境变量shell脚本。
#例如,PATH,LD_LIBRARY_PATH和MANPATH,这些脚本存储在文件系统中,作为/opt/rh/package-name/enable
[root@test ~]# yum install centos-release-scl -y



6、修改zabbix前端源 
[root@test ~]# cat /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    #修改为1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591




6、安装zabbix前端环境(zabbix-mysql、zabbix-apache)
[root@test ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y      

3、部署zabbix数据库

#安装zabbix所需要的数据库
1)、配置MySQL的yum源
[root@test ~]# cat > /etc/yum.repos.d/mysql.repo << EOF
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF


2)、安装社区版MySQL
[root@test ~]# yum install mysql-community-server


3)、启动MySQL
#加入开机自启
[root@test ~]# systemctl enable --now mysqld.service  # MYSQL5.7版本默认密码在mysqld.log日志里面
#查看密码
[root@test ~]# grep 'password' /var/log/mysqld.log 
2021-07-31T07:54:52.161434Z 1 [Note] A temporary password is generated for root@localhost: !oA1Hy*-HYjK


4)、检查MySQL运行状态
[root@test ~]# systemctl status mysqld.service 
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-07-29 00:04:02 CST; 8s ago
#初始化数据库,设置root密码
[root@test ~]# mysql_secure_installation

# 输入当前root密码(直接回车)
# Enter current password for root (enter for none):

# 设置root密码
# Set root password? [Y/n] y
# New password: 
# Re-enter new password:

# 是否移除匿名用户
# Remove anonymous users? [Y/n] y

# 是否禁止root远程登陆
# Disallow root login remotely? [Y/n] n

# 是否移除测试数据库
# Remove test database and access to it? [Y/n] y

# 是否刷新授权表
# Reload privilege tables now? [Y/n] y



5)、创建zabbix依赖数据库
[root@test ~]# mysql -uroot -p'Zabbix@21'
# 1、修改密码并授权root用户
mysql> set password=password('Zabbix@21');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> grant all privileges on *.* to root@'%' identified by 'Zabbix@21';
mysql> flush privileges;
mysql> quit



# 2、创建zabbix库并授权
#数据库创建
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
#创建用户并授权
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'Zabbix@21';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
mysql> exit




# 3、配置数据库my.cnf文件
[root@test ~]# grep '^[^#]' /etc/my.cnf
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8mb4

[mysql]
user="root"
password="Zabbix@21"
default-character-set=utf8mb4


# 8、启动数据库
[root@test ~]# systemctl restart mysqld
[root@test ~]# netstat  -lntp |grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      1119/mysqld     





# 9、mysql数据库数据导入
#zabbix-server-mysql数据导入数据库mysqld
[root@test ~]# cd /usr/share/doc/zabbix-server-mysql-5.0.15
#数据导入(时间可能会慢)
[root@test zabbix-server-mysql-5.0.15]# zcat create.sql.gz | mysql -uroot -p"Zabbix@21" zabbix 
mysql: [Warning] Using a password on the command line interface can be insecure.





# 10、修改zabbix配置文件(zabbix关联mysql)
1、修改zabbix_server.conf文件
[root@test ~]# vim /etc/zabbix/zabbix_server.conf
[root@test ~]# grep -E  '^[^#]' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@21
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1


2、修改zabbix.conf文件(更改所依赖php的时区)
[root@test ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
[root@test ~]# grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
php_value[date.timezone] = Asia/Shanghai




# 11、启动zabbix
#重启
[root@test ~]# systemctl restart zabbix-server zabbix-agent2.service httpd rh-php72-php-fpm.service
#加入开机自启并立即启动
[root@test ~]# systemctl enable --now zabbix-server zabbix-agent2.service httpd rh-php72-php-fpm.service 



# 12、测试ip访问
192.168.15.10/zabbix 
默认用户:Admin   
密码:zabbix      
@zabbix(5.0)客户端与服务端部署安装
查看确认环境是否ok
@zabbix(5.0)客户端与服务端部署安装
zabbix关联数据库
@zabbix(5.0)客户端与服务端部署安装
填写zabbix-server的信息(根据实际部署情况填)
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
web安装成功
@zabbix(5.0)客户端与服务端部署安装
登录zabbix web
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
更改web语言
@zabbix(5.0)客户端与服务端部署安装
web中文模式
@zabbix(5.0)客户端与服务端部署安装
web出现字符乱码
@zabbix(5.0)客户端与服务端部署安装

4、安装字符插件(web字符乱码)

1、安装中文字体
yum -y install wqy-microhei-fonts


2、将下载好的二进制文件复制到指定路径下
cp      
web重载(页面字符已正常显示)
@zabbix(5.0)客户端与服务端部署安装

四、zabbix添加web(自定义key)

自定义监控登录用户数

需求:限制人数不超过三个,超过三个会发生报警信息

##### 客户端执行

# 1、使用需要执行linux命令(此命令可查看当前登录用户的个数)
[root@test ~]# who |wc -l
2


# 2、zabbix配置文件中,配置使用inclued形式来优化配置文件,进行添加多项配置,如下
[root@test ~]# cat /etc/zabbix/zabbix_agent2.conf | grep -i "^include"
Include=/etc/zabbix/zabbix_agent2.d/*.conf




# 3、添加zabbix_agent2配置文件,用于自定义key(可手动创建zabbix的配置文件)
#直接添加配置文件
[root@test ~]# vim /etc/zabbix/zabbix_agent2.conf
#自定义配置文件与指定路径(配置名称自定义)
[root@test ~]# cd /etc/zabbix/zabbix_agent2.d/
[root@test zabbix_agent2.d]# vim /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
#自定义配置文件的语法
#Format: UserParameter=<key>,<shell command>
UserParameter=login.user,who|wc -l
#多项监控,更改不同的key值
#UserParameter=login.user1,who|wc -l



# 3、重启服务
[root@test ~]# systemctl restart zabbix-agent2.service



# 4、在zabbix服务端命令行进行测试(zabbix-get)
#安装zabbix-get
 yum install zabbix-get -y 

#测试:
zabbix_get -s "13.75.120.200" -p 10050 -k "login.user"
# 1 代表ok



#### 服务端监控
# 1、zabbix服务端(如下所示)      
创建群组
@zabbix(5.0)客户端与服务端部署安装
添加自定义群组
@zabbix(5.0)客户端与服务端部署安装
创建模板
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
创建应用集
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
创建监控项,选择具体想要监控的内容(自定义item)
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
创建触发器,自定义创建(监控项触发报警添加)
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
创建图形
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
创建主机与模板相关联
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装
@zabbix(5.0)客户端与服务端部署安装