企业级 zabbix 监控项目实战

此次部署 参考https://www.cnblogs.com/keerya/p/7953695.html#_label0_6_5目录一、zabbix 的监控搭建环境准备配置 server 端zabbix 的安装配置server配置web GUI浏览器的访问并进行初始化设置配置agent 端1.安装zabbix2.修改配置文件监控过程详解1.修...
摘要由CSDN通过智能技术生成

此次部署 参考https://www.cnblogs.com/keerya/p/7953695.html#_label0_6_5

目录

一、zabbix 的监控搭建

环境准备

配置 server 端

zabbix 的安装

配置server 

配置web GUI

浏览器的访问并进行初始化设置

 配置agent 端

1.安装zabbix

2.修改配置文件

监控过程详解

1.修改密码及中文版

2.创建主机及主机群组

3.监控项(items)

定义一个带参数的监控项

 快速定义类似指标

 删除监控项

监控项存储的值

触发器

设置邮件报警到163邮箱

zabbix可视化

1.简介 

2.自定义图形(Graphs)

模板

 宏(macro)


 



一、zabbix 的监控搭建

环境准备

系统centos 7 

主机:                            IP:

server01(server)       192.168.8.19

server02(agent)        192.168.8.20

server03 (agent)       192.168.8.21

三台主机同步,关闭防火墙 selinux

systemctl stop firewalld;systemctl disable firewalld

 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 

[root@server01 ~]# grep -n '^[a-Z]' /etc/selinux/config 
7:SELINUX=disabled
12:SELINUXTYPE=targeted 
 

配置 server 端

zabbix 的安装

更新yum源

官网下载一个包

[root@server01 ~]# wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
 

下载到本地后直接安装

yum -y localinstall zabbix-release-3.4-2.el7.noarch.rpm 

由于配置了epql源 带zabbix 但版本较低为防止冲突把epel源备份一下

[root@server01 yum.repos.d]# mv epel.repo epel.repo.bak

 开始安装软件

[root@server01 yum.repos.d]# yum -y install zabbix-agent.x86_64 zabbix-get.x86_64 zabbix-sender.x86_64 zabbix-server-mysql.x86_64 zabbix-web zabbix-web

 配置数据库配置文件

[root@server01 yum.repos.d]# vim /etc/my.cnf.d/server.cnf

[mysqld]
skip_name_resolve = ON          #跳过主机名解析 
innodb_file_per_table = ON      #
innodb_buffer_pool_size = 256M  #缓存池大小    
max_connections = 2000          #最大连接数    
log-bin = master-log            #开启二进制日志
 

 重启数据库

[root@server01 ~]# systemctl restart mariadb.service 

 创建数据并授权账号

MariaDB [(none)]> create database zabbix character set 'utf8';
MariaDB [(none)]> grant all on zabbix.* to 'zbxadmin'@'192.168.8.%' identified by 'beckham';
MariaDB [(none)]> flush privileges;#刷新权限

导入表

首先我们来看看 zabbix-server-mysql 提供什么:

[root@server01 ~]# rpm -ql zabbix-server-mysql 
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.4.12
/usr/share/doc/zabbix-server-mysql-3.4.12/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.4.12/COPYING
/usr/share/doc/zabbix-server-mysql-3.4.12/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.4.12/NEWS
/usr/share/doc/zabbix-server-mysql-3.4.12/README
/usr/share/doc/zabbix-server-mysql-3.4.12/create.sql.gz  # 生成表的各种脚本
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix

使用这个文件来生成我们需要的表

[root@server01 zabbix-server-mysql-3.4.12]# gzip -d create.sql.gz 

[root@server01 zabbix-server-mysql-3.4.12]# head create.sql 
CREATE TABLE `users` (
    `userid`                 bigint unsigned                           NOT NULL,
    `alias`                  varchar(100)    DEFAULT ''                NOT NULL,
    `name`                   varchar(100)    DEFAULT ''                NOT NULL,
    `surname`                varchar(100)    DEFAULT ''                NOT NULL,
    `passwd`                 char(32)        DEFAULT ''                NOT NULL,
    `url`                    varchar(255)    DEFAULT ''                NOT NULL,
    `autologin`              integer         DEFAULT '0'               NOT NULL,
    `autologout`             varchar(32)     DEFAULT '15m'             NOT NULL,
    `lang`                   varchar(5)      DEFAULT 'en_GB'           NOT NULL,
 

 可以看到创建表头的发现并没有创建数据库的命令,这就是为什么需要创建数据库的原因

直接导入数据即可

[root@server01 zabbix-server-mysql-3.4.12]# mysql -uzbxadmin -h192.168.8.19 -p zabbix <create.sql 

Enter password: 

进入数据查看

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| zabbix             |
+--------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |
| application_prototype      |

.......

| widget_field               |
+----------------------------+

数据就已经导入成功了

 

配置server 

我们数据库准备好了,接下来配置server端的配置文件

[root@server01 ~]# cd /etc/zabbix/
[root@server01 zabbix]# ls
web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
[root@server01 zabbix]# cp zabbix_server.conf{,.bak}
[root@server01 zabbix]# vim zabbix_server.conf
[root@server01 zabbix]# grep -n '^[a-Z]' zabbix_server.conf
13:ListenPort=10051                # 默认监听的端口
21:SourceIP=192.168.8.19      # 发数据采样请求的IP 
40:LogFile=/var/log/zabbix/zabbix_server.log     #日志默认文件记录,也可以发送给我们的rsyslog日志记录系统,也可以自己设置
51:LogFileSize=0   
74:PidFile=/var/run/zabbix/zabbix_server.pid
84:SocketDir=/var/run/zabbix
103:DBName=zabbix
119:DBUser=zabbix
332:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
450:Timeout=4
492:AlertScriptsPath=/usr/lib/zabbix/alertscripts
502:ExternalScripts=/usr/lib/zabbix/externalscripts
538:LogSlowQueries=3000
为什么要设置SourceIP,由于我们的客户端可能一个主机多个IP,我们又不能允许任意的IP 都能从我们这里读取数据就会有一个验证方式,而该方式是基于识别SourceIP来实现的。

LogFileSize=0  日志的滚动,默认值为0表示不滚动,当数据特别多的时候,我们也可以设置成为1,然后设置当数据文件最大到多少时会自动滚动

日志的级别,一共有6个级别,我们可以根据自己的需要来设置级别。其中0表示输出最少的信息,5表示输出最详细的信息,默认值为3,设置3的话就表示,0,1,2,3 4个级别都显示。考虑到生产系统中的压力时,这里的信息,如果没有必要的话,越简单越好,只要出错的时候,我们可以依据其进行拍错即可。

DBHost=192.168.8.19     # 数据库对外的主机
DBName=zabbix             # 数据库的名称
DBUser=zbxadmin          # 数据库用户
DBPassword=beckham   # 数据密码
DBPort=3306                  # 数据库启动端口

 以上,我们的基本配置已经完成,可以开启服务了;

[root@server01 ~]# systemctl start zabbix-server.service

启动陈宫后查看监听端口

[root@server01 ~]# ss -tnlu | grep 10051
tcp    LISTEN     0      128       *:10051                 *:*                  
tcp    LISTEN     0      128      :::10051                :::*             

如果端口没有起来的话 仔细查看配置文件,或cat /var/log/zabbix/zabbix_server.log 查看日志信息

一般常见两种问题 mysql.sock的 位置 与数据库登录账号密码的问题

配置web GUI

查看web GUI 的配置文件在哪里;

[root@server01 ~]# rpm -ql zabbix-web  | less
/etc/httpd/conf.d/zabbix.conf
/etc/zabbix/web
/etc/zabbix/web/maintenance.inc.php
/etc/zabbix/web/zabbix.conf.php
/usr/share/doc/zabbix-web-3.4.12
/usr/share/doc/zabbix-web-3.4.12/AUTHORS
/usr/share/doc/zabbix-web-3.4.12/COPYING
/usr/share/doc/zabbix-web-3.4.12/ChangeLog
/usr/share/doc/zabbix-web-3.4.12/NEWS
/usr/share/doc/zabbix-web-3.4.12/README
/usr/share/zabbix
.......

可以看到 /etc/httpd/conf.d/zabbix.conf   这个配置文件就是做映射的文件,

 时区是一定要设置的 ,这里被注释掉是因为,我们可以咋洗php的配置文件中设置时区,如果我们在php配置文件中设置时区,则对所有php服务均有效,如果我们在zabbix.conf 中设置时区,则仅对zabbix 服务有效,所以,我们去php配置文件中设置我们的时区:

vim /etc/php.ini

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Shanghai

 接下来我们就可以启动httpd服务了

[root@server01 ~]# systemctl start httpd.service
[root@server01 ~]# ss -nutl

 服务已经开启,接下来我们就可以用浏览器来访问了

浏览器的访问并进行初始化设置

 

 

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值