Zabbix之一---企业级监控服务Zabbix部署与配置

一、业务布局:

  

 二、整体布局

  

三、Zabbix监控概述:

官方文档:https://www.zabbix.com/cn/features

  

 适用于任何IT基础架构、服务、应用程序和资源的解决方案

  

1、数据采集:周期性时序数据

(1)主机/对象:服务器、路由器、交换机、存储、防火墙、IP、PORT、URL、自定义监控对象...

(2)采集目标:监控项,指标数据(metrics data)

2、数据存储:

(1)存储系统:

  SQL: MySQL/MariaDB(Zabbix)
  NoSQL:Redis(Open-falcon)
  rrd: Round Robin Database(Cacti)

(2)数据:

  历史数据: 每个监控项采集到的每个监控值
  趋势数据: 趋势表里主要保留某个监控项一个小时内历史数据的最大值、最小值和平均值以及该监控项一个小时内所采集到的数据个数。

(3)阈值:severity,可按照等级实现层级报警

(4)告警:email, 短信, 微信,语音,故障自治愈

3、四大核心任务:

(1)采集:zabbix-server, zabbix-proxy,zabbix-agent

    Agentless:SNMP,Telnet,ssh,IPMI, JMX,
    Agent:zabbixagent

(2)存储: zabbixdatabase

(3)展示:zabbixweb

      graph -> screen -> slideshow(将多个screen以幻灯片的方式进行轮流展示)

(4)告警:

  host (host groups) <-templates
  host -> items -> triggers -> action (条件-conditions, 操作-operations)

实战一:zabbix的搭建与部署

1、配置zabbix-server仓库并安装

zabbix官方安装地址参考:https://www.zabbix.com/cn/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

1、配置zabbix仓库

[root@localhost yum.repos.d]# cat zabbix.repo 
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
 
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
gpgcheck=1
 
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

2、安装Zabbix server,Web前端,agent

# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get

2、安装并初始化数据库

1、安装服务端数据库,启动数据库并设置为开机启动。

# yum clean all
# yum install mariadb-server  -y
# chown mysql.mysql /var/lib/mysql -R  # 将数据库的所有者和所属组权限进行修改。
# systemctl start mariadb
# systemctl  enable mariadb

2、创建初始化数据库

(1)vim /etc/my.cnf.d/mariadb-server.cnf 配置文件

[server]
skip_name_resolve = on
innodb_file_per_table = on
innodb_buffer_pool_size = 256M   #buffer缓存大小
max_connections = 2000   #最大连接数
log-bin = master-log    #二进制日志

 (2)创建zabbix数据库并授权。

[root@computer-2 ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'192.168.7.%' identified by '123456';

(3)在mysql客户端测试连接数据库

[root@computer-2 network-scripts]# mysql -p123456 -uzabbix  -h192.168.7.100
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

3、初始化架构和数据

1、导入初始架构和数据,系统将提示您输入新创建的密码。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p -h192.168.7.100 zabbix  # 指定本地的IP地址,不默认就会指向本地localhost

(1)初始化架构和数据时抱有以下错误,可以查看数据库是否存在两个zabbix用户账号,可以删除空的账号就可以重新初始化架构和数据。

[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p -h192.168.7.100 zabbix
Enter password: 
ERROR 1045 (28000): Access denied for user 'zabbix'@'zabbix' (using password: YES)

(2)进入到数据库中查看此时的IP地址和用户名称

[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select user,host from mysql.user;
+--------+-------------+
| user   | host        |
+--------+-------------+
| root   | 127.0.0.1   |
| zabbix | 192.168.7.% |
| root   | ::1         |
|        | localhost   |
| root   | localhost   |
|        | zabbix      |  # 将此空的user删除即可。
| root   | zabbix      |
+--------+-------------+
7 rows in set (0.00 sec)

MariaDB [(none)]> drop user ''@zabbix;  # 删除空的user数据
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> Ctrl-C -- exit!
Aborted

4、为Zabbix server配置数据库

1、编辑配置文件 /etc/zabbix/zabbix_server.conf

ListenPort=10051  # zabbix的端口10051
DBHost=192.168.7.100  # 数据库对外提供的IP地址
DBName=zabbix  # 默认即可
DBUser=zabbix  # 默认即可
DBPassword=123456 # 数据库密码
DBPort=3306   # 数据库服务端口

2、为Zabbix前端配置PHP,修改为本地的上海时区

编辑配置文件 /etc/httpd/conf.d/zabbix.conf

        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai  # 最后一行注释的改为上海时区

3、启动Zabbix server和agent进程,并设置为开机启动

# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd

 查看监听端口状态:10050是agent端口,10051是zabbix端口,3306是数据库端口。

4、修改前端web的配置文件

 在以下配置文件中可以查询IP地址、zabbix服务器名称、密码等信息是否正确,如果需要修改数据库连接,只需要在配置文件中修改即可

[root@zabbix ~]# cp   /usr/share/zabbix/conf/zabbix.conf.php.example /usr/share/zabbix/conf/zabbix.conf.php
[root@zabbix ~]# vim  /usr/share/zabbix/conf/zabbix.conf.php

5、重启mariadb数据库和Zabbix server和agent进程

# systemctl restart zabbix-server zabbix-agent httpd mariadb

5、zabbix初始化设置

(1)开始登陆zabbix的web页面:192.168.7.100/zabbix/index.php

如果弹出以下窗口则证明安装成功!Zabbix 前端已经就绪!默认的用户名是 Admin,密码是zabbix

(2)检查以下配置有无错误

 (3)开始设置数据库连接

 (4)命名zabbix名称

 (5)验证自己输入无误后直接下一步

 (6)开始登陆,账号:Admin  密码:zabbix

(7)进入zabbix界面

(8)status of zabbix 仪表盘分析

 

Zabbix server is running Yes 192.168.7.100:10051
Number of hosts (enabled/disabled/templates) 91 1 / 0 / 90
Number of items (enabled/disabled/not supported) 88 82 / 0 / 6
Number of triggers (enabled/disabled [problem/ok]) 50 50 / 0 [0 / 50]
Number of users (online) 2 1
Required server performance, new values per second 1.24

 

① 监控主机:已经启用被监控的主机数量,已经配置好缺被禁止主机数,自带模板数

② 监控项:启用多少指标,禁用多少指标,不支持的指标

③ 触发器数量:启用,禁用,处于有问题的

④ 当前zabbix有几个用户:现在是一个是来宾,一个是管理员

⑤ 重点关注的nvps 每秒的新值(根据我们定义的监控项,每秒采集过来多少新数据,平均值):

 

(9)用户管理设置,可以设置为中文模式,以及修改zabbix的登陆密码

此时改为中文后,监控的图形界面就会是乱码,我们应该怎么处理呢?下图是乱码位置:

答:方法很简单,只需要在windows系统中寻找一个楷体文件即可:控制面板---->字体----->楷体 常规字体(复制到windows桌面上,等会传到linux指定的文件夹目录下)

 (1)查询linux系统原有字体配置文件:

[root@zabbix fonts]# find / -name defines.inc.php
/usr/share/zabbix/include/defines.inc.php

[root@zabbix fonts]# vim /usr/share/zabbix/include/defines.inc.php 
define('ZBX_GRAPH_FONT_NAME',           'graphfont'); // font file name  # 将graphfont改为自己复制windows系统的字体名称:simkai
define('ZBX_FONT_NAME', 'graphfont');  # 将graphfont改为自己复制windows系统的字体名称:simkai

(2)查询graphfont文件存放的路径

[root@zabbix fonts]# find / -name graphfont*  # 查询存放的字体文件路径,将windows系统的字体存放在此目录下
/usr/share/zabbix/assets/fonts/graphfont.ttf
[root@zabbix ~]# cd /usr/share/zabbix/assets/fonts/
[root@zabbix fonts]# rz -E # 将下载的windows文件传到linux指定的目录下。
rz waiting to receive.
[root@zabbix fonts]# ll
total 11512
lrwxrwxrwx 1 root root 33 Feb 16 10:00 graphfont.ttf -> /etc/alternatives/zabbix-web-font
-rw-r--r-- 1 root root 11785184 Jun 11 2009 simkai.ttf   # windows系统的字体名称

(3)此时刷新zabbix界面,乱码部分已解决。

6、被监控node zabbix的安装配置

 1、在node1主机上配置zabbix仓库。

[root@computer-2 yum.repos.d]# cat zabbix.repo 
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
 
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
gpgcheck=1
 
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

2、安装zabbix-agent包

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

3、配置zabbix-agent文件:

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

(1) EnableRemoteCommands=0 是否允许执行远程命令,默认是不允许的,有安全风险 

 (2)修改以下配置文件信息

Server=192.168.7.100   # zabbix服务端的IP地址
Hostname=192.168.7.101 # 本机node1主机的IP地址,或者起一个与zabbix服务器端不重名的名称
ListenPort=10050    # 本机监听的端口
ListenIP=0.0.0.0   # 允许监听在本机的地址,0.0.0.0 是监听所有

4、配置完zabbix-agent后,重启zabbix-agent,且查看此时监听的端口

[root@node1 ~]# systemctl restart zabbix-agent  # 重启zabbix-agent
[root@node1 ~]# ss -nlt  # 查看10050端口是否被监听
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      100                                  127.0.0.1:25                                                       *:*                  
LISTEN      0      128                                          *:10050                                                    *:*                  
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      100                                      [::1]:25                                                    [::]:*                  
LISTEN      0      128                                       [::]:22                                                    [::]:*  

7、将node1主机加入到监控中

(1)先添加一个主机群组host groups

  添加一个Linux servers 的host groups

 (2)创建主机

  将node1主机添加到主机群组中

 (2)添加模板,可以搜索linux关键字,可以添加到Template OS Linux

 (3)此时可以看到添加的node1已经提示变绿色图标

 

 

  

  

  

 

  

 

 

  

  

 

posted @ 2020-02-28 21:29  一叶知秋~~  阅读(1287)  评论(0编辑  收藏  举报