• 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已经提示变绿色图标

      

      

      

      

     

     

      

      

     

  • 相关阅读:
    欧拉函数的一个性质及其证明
    【机器人M号】题解
    【求和】题解
    uva11292贪心基础题目
    hdu 1009 贪心基础题
    近期计划,理清思路,大步向前
    hdu1712 分组背包
    TOJ3596 二维背包
    hdu1114 完全背包
    BestCoder Round #81 (div.2)1001
  • 原文地址:https://www.cnblogs.com/struggle-1216/p/12218992.html
Copyright © 2020-2023  润新知