Centos7.3 安装zabbix3.4

原创
2019/03/22 07:45
阅读数 229

首先需要了解的是zabbix是一种C/S架构的监控工具,即服务端(Server)需要安装zabbix-server用于处理各种监控及告警信息,客户端(Client)需要安装zabbix-agent用于收集客户端的监控数据。

本地使用ansible作为自动化工具,接来下操作结合ansible进行。

官方文档

安装准备

配置zabbix rpm仓库

为server端主机和所有client主机配置rpm镜像库。

$ ansible all -m shell -a "chdir=/tmp wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm"

$ ansible all -m shell -a "chdir=/tmp  rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm"

安装

官方文档: https://www.zabbix.com/documentation/3.0/manual/installation

Server端

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

$ systemctl start zabbix-server
$ systemctl enable zabbix-server

zabbix数据存储

zabbix数据存储依赖于MySQL或postgresql,在此使用mysql,如果未安装mysql需要单独安装一下。安装完成后需要对数据库进行初始化:

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

$ zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -pzabbix zabbix

配置zabbix

$ vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

$ systemctl start zabbix-server

配置httpd

$ vim  /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 always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai   # 更改时区

启动httpd后访问:http://172.16.180.129/zabbix 进行可视化安装。安装完成后登陆:

  • 管理员账号:Admin
  • 管理员密码:zabbix

Client端

安装zabbix-agent

$ ansible all -m shell -a "yum install -y zabbix-agent"

配置agent

Server=172.16.180.129  # 服务端ip
ServerActive=172.16.180.129  # 服务端ip
Hostname=system.hostname  # 显示到监控中心的被监控主机的主机名,用于区分各个client

补充: zabbix获取数据有两种模式——主动模式/被动模式。Server表示被动模式,即由服务端定时向客户端采集数据;ServerActive表示主动模式,即客户端可以主动上报数据到服务端。

启动zabbix-agent

$ systemctl start zabbix-agent

监控配置

配置文档

创建主机组&&添加主机

  • 创建主机组:配置——主机组——创建主机组——设定组名称——添加
  • 添加主机到主机组:配置——创建主机——主机名称/显示名称(与agent配置中的Hostname保持一致)——选择所属主机组——agent代理程序接口(对于主机ip及port(默认10050端口))——添加

应用集

应用集即监控项分组,为的是方便批量管理监控项。

监控项

监控项是从主机收集的数据信息。

配置主机后,你需要添加一些监控项以开始获取实际数据。

触发器

触发器是“评估”由项目采集的数据并表示当前系统状况的逻辑表达式。

针对各个监控项配置的告警规则。

模板

模板是可以方便地应用于多个主机的一组实体。

图形

解决图形中无法展示中文字体的问题。

  • 检查相关代码:

    $ less /usr/share/zabbix/include/defines.inc.php 
    define('ZBX_FONTPATH',                          realpath('fonts')); // where to search for font (GD > 2.0.18)
    define('ZBX_GRAPH_FONT_NAME',           'graphfont'); // font file name
    

    即,字体相关文件为/usr/share/zabbix/fonts/graphfont

  • 检查对应文件信息:

    [root@host2 fonts]# ll
    lrwxrwxrwx 1 root root      33 3月   6 07:42 graphfont.ttf.bak -> /etc/alternatives/zabbix-web-font
    [root@host2 fonts]# ll /etc/alternatives/zabbix-web-font
    lrwxrwxrwx 1 root root 38 3月   6 07:42 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf
    
  • 查资料发现,DejaVuSans.ttf 字体不支持中文。

  • 处理办法:替换zabbix字符集即可

    • 下载支持中文的字体类型至zabbix服务器:/usr/share/zabbix/fonts/FangZhengFangSongJianTi-1.ttf
    • 重新对 graphfont.ttf 做软连接指向新的字体即可:ln -s FangZhengFangSongJianTi-1.ttf graphfont.ttf (做软连前将原有graphfont.ttf文件改名备份)

自动发现

用于一些metrics的自动采集,如网卡信息。

自定义监控项目

监控处于TIME_WAIT状态的连接数量:

  • 创建脚本 twait.sh :

    #!/bin/bash
    # 统计listen状态的连接
    netstat -ant |grep -c 'TIME_WAIT'
    
  • 赋予脚本执行权限:chmod +x listen_num.sh

  • 编辑zabbix_agentd.conf文件:

    UnsafeUserParameters=1    # 允许向服务端传递所有参数
    UserParameter=my.time_wait.count[*],/root/scripts/twait.sh    # 自定义监控项的key为my.time_wait.count;后面的[*]写脚本的参数,如果没有参数可省略;最后为对应的脚本
    
  • 重启zabbix-agent服务

  • 到server端检验:

    $ zabbix_get -s 172.16.180.129 -p 10050 -k 'my.time_wait.count'
    29
    
  • 配置中心——增加监控项

展开阅读全文
加载中

作者的其它热门文章

打赏
0
3 收藏
分享
打赏
0 评论
3 收藏
0
分享
返回顶部
顶部