zabbix服务器搭建

Posted 爱敲代码的三毛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix服务器搭建相关的知识,希望对你有一定的参考价值。

文章目录


zabbix

zabbix官网

1. 环境准备

主机ip
zabbix_server192.168.44.10
agent.cluster.com192.168.44.20
agent2.cluster.com192.168.44.30

1.每台机器配置静态ip

 # vim /etc/sysconfig/network-scripts/ifcfg-ens33

2.设置主机名

# hostnamectl set-hostname zabbix_server.cluster.com
# hostnamectl set-hostname agent1.cluster.com
# hostnamectl set-hostname agent2.cluster.com

3.时间同步

# systemctl restart ntpd
# systemctl enable ntpd

4.关闭防火墙和SELInux

# systemctl stop firewalld
# systemctl disable firewalld
# iptables -F
# setenforce 0
# vim /etc/selinux/config

4.配置yum源(官方源+zabbix源)
所有机器(zabbix服务器和所有被监控端)加上zabbix源

# vim /etc/yum.repos.d/zabbix.repo

[zabbix]
name=zabbix
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/
enabled=1
gpgcheck=0
[zabbix_deps]
name=zabbix_deps
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/x86_64/
enabled=1
gpgcheck=0
# yum clean all
# yum makecache

2. zabbix服务器安装

1.安装zabbix和mariadb数据库(在服务端上安装)

[root@zabbix_server ~]# yum install zabbix-server-mysql zabbix-web-mysql mariadb-server
  1. 在mysql(mariadb)里建立存放数据的库并授权,然后导入zabbix所需要用的表和数据
[root@zabbix_server ~]# systemctl restart mariadb.service
[root@zabbix_server ~]# systemctl enable mariadb.service


[root@zabbix_server ~]# mysql

MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin; 

# 给zabbix用户分配zabbix数据库的所有权限
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'root';

MariaDB [(none)]> flush privileges;

3.导入表数据

下面这条命令不要乱复制粘贴,如果你版本不一样(或者官网yum源版本升级),4.0.43就要改成对应版本
[root@zabbix_server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.43/create.sql.gz | mysql -u zabbix -proot zabbix

4.配置zabbix主配置文件,并启动服务,确认端口
找到并确认如下参数(默认值正确的不用打开注释.默认值不对的,要修改正确并打开注释)

[root@zabbix_server ~]# vim /etc/zabbix/zabbix_server.conf

我这里只需要改连接数据的密码和socket
[root@zabbixserver ~]# vim /etc/zabbix/zabbix_server.conf
ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=root						--这里要对应上面第2步的授权进行修改
DBSocket=/var/lib/mysql/mysql.sock 
ListenIP=0.0.0.0


[root@zabbix_server ~]# systemctl restart zabbix-server
[root@zabbix_server ~]# systemctl enable zabbix-server

# ps -aux | grep zabbix

5.配置zabbix的httpd子配置文件,并启动httpd

# 打开第20行注释,并修改成你的时区
[root@zabbix_server ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai



[root@zabbix_server ~]# systemctl restart httpd
[root@zabbix_server ~]# systemctl enable httpd

6.使用浏览器访问192.168.44.10/zabbix,按提示进行安装

按照图示过程安装
1,welcome
2,Check of pre-requisites
3,Configure DB connection
数据库用户名填zabbix,密码填root(前面授权过的)
4,Zabbix server details
在name选项填上你zabbix服务器的IP或者主机名
5,Pre-Installation summary
6,install

完成后
登陆用户名为:Admin
登陆密码为:zabbix

7.右上角点一个类似小人的图标 ——> 语言选 chinese zh-cn ——> 点 update后换成中文件界面

3. 监控本机

1.zabbix_server上安装zabbix-agent

[root@zabbix_server ~]# yum install zabbix-agent

2.启动zabbix-agent服务

[root@zabbix_server ~]# vim /etc/zabbix/zabbix_agentd.conf
下面两个常见选项都为默认值,不用配置
Server=127.0.0.1		--zabbix服务器的IP,这里是本机
ListenPort=10050		--监控服务器连接被监控客户端的端口
[root@zabbix_server ~]# systemctl restart zabbix-agent
[root@zabbix_server ~]# systemctl enable zabbix-agent

[root@zabbix_server ~]# ps -aux | grep zabbix

3.回到web管理界面 ——>点配置——>点主机——>默认看到叫Zabbix server的本机,如果没有启用——>点击并启用

4.点zabbix server里的图形——>任意选一张图后点预览——>看到图上有乱码




5, 解决乱码方法: 换一个字体
上传本地字体到机器 /usr/share/zabbix/assets/fonts/目录下,先把字体文件随便复制到一个地方,就会变成英文名

[root@zabbix_server assets]# cd /usr/share/zabbix/assets/fonts/
[root@zabbix_server fonts]# mv simsun.ttc simsun.ttf
# 给这个字体文件添加可执行权限
[root@zabbix_server fonts]# chmod 777 simsun.ttf
[root@zabbix_server fonts] # rm -f /etc/alternatives/zabbix-web-font  #删除原先默认软链接的字符集
[root@zabbix_server fonts]# ln -s /usr/share/zabbix/assets/fonts/simsun.ttf /etc/alternatives/zabbix-web-font

再修改配置文件

# vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME',         'simsun');
define('ZBX_FONT_NAME', 'simsun');

成功解决

4. 通过zabbix-agent监控远程机器

1.在agent1上安装zabbix-agent包

[root@agent1 ~]# yum install zabbix-agent -y

2.配置zabbix-agent端的配置文件,启动服务并做成开机自动启动

[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.44.10# 修改成zabbix监控服务器的IP

[root@agent1 ~]# systemctl restart zabbix-agent
[root@agent1 ~]# systemctl enable zabbix-agent

[root@agent1 ~]# ps -aux | grep zabbix

3.回到web管理界面——>点配置——>点主机——>点创建主机


4.为主机添加要监控的模板——>点模板——>点选择——>把 Template OS Linux 前面打勾(其它模板视随意加)——>点选择 ——>点添加 ——>最后点右下角的添加


5. 确认

5. zabbix用户与用户群组

用户(user):zabbix提供多用户管理,不同的用户可以设置不同的权限,不同的语言,不同的报警方式等。

web管理界面——>管理 ——>用户

6. 监控项与应用集

监控项(item): 是从主机收集的数据信息,代表收集数据或监控的一个最小单位

应用集(applications): 代表多个监控项目合成的组。


7. 为监控项创建图形

web管理界面——>配置——>主机——>图形(选agent1主机的图形——>右上角点创建图形——>选择图形名称,并在下面添加刚才定义好的监控项——>添加后,预览图形

8. 自定义监控项

自带的键值用得还是不习惯,或者有些想监控的却没有相关的键值,我们还可以自定义键值

下面我们就来创建一个自定义的监控项:

监控agent1上的用户登录数(默认有一个键值叫system.users.num可以实现监控登录用户数,但我这里实验使用的是自己定义的键值)

1, 在被监控端agent1上,随意多打开几个终端,模拟多个登录用户

[root@agent1 ~]# who | wc -l
7

2.在被监控端agent1上,定义用户参数

[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf 
UserParameter=loginusers,who | wc -l

说明: loginusers是我自定义的一个键值名称(会在创建监控项时用到),后面的who |wc -l就要被监控的命令

[root@agent1 ~]#  systemctl restart zabbix-agent

3, 在zabbix server服务器上先测试是否能得到被监控端agent1的结果

需要zabbix官方yum源来安装zabbix-get命令
[root@zabbix_server fonts]# yum install zabbix-get -y
使用此命令就可以得到被监控端的结果,则测试ok
[root@zabbix_server fonts]# zabbix_get -s 192.168.44.20 -k loginusers
7				--可以确认得到的值确实为agent1的

4.web管理界面——>配置——>主机——>监控项(选agent1的监控项)——>右上角点创建监控项

9. 为自定义监控项创建图形

web管理界面——>配置——>主机——>图形(还是选的agent1的主机的图形)——>右上角点创建图形——>选择图形名称,并在下面添加刚才定义好的监控项——>添加后,预览图形

10.触发器

1, web管理界面——>配置——>主机——>触发器(选远程agent1的触发器)——>右上角点创建触发器


2,创建完触发器后,可以尝试去agent1上再多开几个终端,让其登录用户数达到10个,然后就可以去下面两图显示的地方去查看确认效果了。


以上是关于zabbix服务器搭建的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix分布式系统监控+ 试验:搭建一个Zabbix服务器

实验案例搭建zabbix监控系统

实验案例搭建zabbix监控系统

实验案例搭建zabbix监控系统

实验案例搭建zabbix监控系统

zabbix服务器搭建