vlambda博客
学习文章列表

监控工程系列:(1)ZABBIX 4.4 部署


以下文章来源于网络技术杂谈 ,作者 SYANG


监控工程系列:(1)ZABBIX 4.4 部署



监控工程

专题内容(更新中):


1、Zabbix 监控网络设备告警信息

2、Zabbix + Grafana 展示网络设备状态信息

3、Influxdb + Telegraf + Grafana 监控展示网络设备流量信息




(1)ZABBIX 4.4 部署安装


ZABBIX 简介

zabbix是一种类似于cacti 、nagios的监控服务系统;可通过web界面提供可视化管理;支持分布式的系统架构;网络监控功能的企业级的开源的监控方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix架由5部分构成,Zabbix server、Web UI、Database、Zabbix Proxy、zabbix agent。


一、组件

Zabbix Server

负责接收 agent 发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;

Database

专用于存储所有配置信息,以及由 zabbix 收集的数据;

Web UI

Zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上;

Zabbix Proxy

可选组件,常用于分布监控环境中,代理 Server 收集部分被监控端的监控数据 

并统一发往 Server 端;

Zabbix Agent

部署在被监控主机上,负责收集本地数据并发往 Server 端或 Proxy 端;


二、相关术语

主机(host)

要监控的网络设备,可由 IP 或 DNS 名称指定;

主机组(host group)

Zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上;

监控项(item)

一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是 zabbix 进行数据收集的核心,相对某个监控对象,每个 item 都由"key"标识;

触发器(trigger)

一个表达式,用于评估某监控对象的特定 item 内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为OK;

事件(event)

触发一个值得关注的事情,比如触发器状态转变,新的 agent 或重新上 线的 agent 的自动注册等;

动作(action)

指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;

报警媒介类型(media)
模板(template)

用于快速定义被监控主机的预设条目集合, 通常包含了 item、 trigger、graph、 screen、 application 以及 low-level discovery rule;模板可以直接链接至某个主机;

三、端口

zabbix_server 10051
zabbix_agent 10050




环境准备

系统
Zabbix
MySql
 Centos
4.4
mysql57



 ZABBIX 安装部署


一、安装YUM工具


下载

$ wget http://yum.baseurl.org/download/3.4/yum-3.4.3.tar.gz

解压

$ tar -xvf yum-3.4.3.tar.gz

创建配置文件

$ touch /etc/yum.conf

安装

$ cd yum-3.4.3
$ ./yummain.py install yum



二、替换YUM国内源



备份原文件

$ cd /etc/yum.repos.d
$ cp CentOS-Base.repo CentOS-Base-repo.bak

下载 YUM 源 repo 文件

$ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  ## 网易

清除 YUM 缓存

$ yum clean all

更换 YUM 源文件

$ mv CentOS7-Base-163.repo CentOS-Base.repo  ## 网易或阿里源

生成缓存并更新

$ yum makecache
$ sudo yum -y update //此过程缓慢,请耐心等待


三、操作系统优化


关闭 SELinux

$ sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

关闭防火墙

$ sudo systemctl stop firewalld.service && systemctl disable firewalld.service

重启系统

$  reboot


四、安装Zabbix基本组件


获取数据库源

$ sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

安装MySQL数据库

$ sudo yum install mysql-* --skip-broken 有冲突的软件跳过(建议执行两次,可能有安装遗漏)

安装Apache Web服务

$ sudo yum -y install httpd
$ systemctl start httpd.service #启动
$ systemctl enable httpd.service #开机启动

安装PHP

$  sudo yum -y install php

安装php扩展

$  sudo yum -y install php-mysqlnd php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-common php-ctype php-xml php-xmlreader php-xmlwriter php-session php-mbstring php-gettext php-ldap php-mysqli --skip-broken
$ sudo yum -y install wget telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel sendmail mailx net-snmp net-snmp-devel net-snmp-utils freetype-devel libpng-devel perl unbound libtasn1-devel p11-kit-devel OpenIPMI unixODBC

设置 MySQL 参数

$ sudo vi /etc/my.cnf

在文件最后添加以下内容并保存(8G):
$ innodb_file_per_table = 1
$ innodb_status_file = 1
$ innodb_buffer_pool_size = 6G
$ innodb_flush_log_at_trx_commit = 2
$ innodb_log_buffer_size = 16M
$ innodb_log_file_size = 64M
$ innodb_support_xa = 0
$ default-storage-engine = innodb
$ bulk_insert_buffer_size = 8M
$ join_buffer_size = 16M
$ max_heap_table_size = 32M
$ tmp_table_size = 32M
$ max_tmp_tables = 48
$ read_buffer_size = 32M
$ read_rnd_buffer_size = 16M
$ key_buffer_size = 32M
$ thread_cache_size = 32
$ innodb_thread_concurrency = 8
$ innodb_flush_method = O_DIRECT
$ innodb_rollback_on_timeout = 1
$ query_cache_size = 16M
$ query_cache_limit = 16M
$ collation_server = utf8_bin
$ character_set_server = utf8

启动 MySQL

$  sudo systemctl enable mysqld && systemctl start mysqld


获取MySQL数据库root初始密码

$ grep 'temporary password' /var/log/mysqld.log

进行 MySQL 安全配置

$  mysql_secure_installation //一直yes

重启MySQL

$  sudo systemctl restart mysqld

配置 MySQL 中 Zabbix要的库和账号权限

$  mysql -u root -p

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

五、安装Zabbix


安装Zabbix仓库

$  rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
$ yum clean all

安装zabbix服务器、代理、前端

$  yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent  //多尝试几次,容易失败

导入初始架构和数据

$  cd /usr/share/doc/zabbix-server-mysql-4.4.0
$ zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

配置zabbix参数

$  sudo vi /etc/zabbix/zabbix_server.conf

DBPassword=XXX //填入数据库密码
CacheSize=512M

(CacheSize在371行)

HistoryCacheSize=128M

(HistoryCacheSize在397行)

HistoryIndexCacheSize=128M

(HistoryIndexCacheSize在405行)

TrendCacheSize=128M

(TrendCacheSize在414行)

ValueCacheSize=256M

(ValueCacheSize在425行)

Timeout=30

(Timeout在432行)

配置 Apache 中的 PHP 参数

$  sudo vim /etc/httpd/conf.d/zabbix.conf

配置如下(8GB 内存为例):
sudo vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 600
php_value memory_limit 256M
php_value post_max_size 32M
php_value upload_max_filesize 32M
php_value max_input_time 600
php_value always_populate_raw_post_data -1
date.timezone 去掉注释符号#,并将值修改为 Asia/Shanghai

重启系统

$  systemctl stop mysqld && reboot

启动 zabbix

$  sudo systemctl start httpd && systemctl start zabbix-server
浏览器输入
http://127.0.0.1/zabbix 进入Zabbix安装页面,如下:


安装页面

监控工程系列:(1)ZABBIX 4.4 部署


环境检查

监控工程系列:(1)ZABBIX 4.4 部署


数据库配置

监控工程系列:(1)ZABBIX 4.4 部署


端口信息配置

监控工程系列:(1)ZABBIX 4.4 部署


配置预览

监控工程系列:(1)ZABBIX 4.4 部署


安装成功

监控工程系列:(1)ZABBIX 4.4 部署

进行登录页面,默认用户名密码:Zabbix/admin

监控工程系列:(1)ZABBIX 4.4 部署


入首页



好啦,本次的技术分享就至此结束啦,下次会介绍Zabbix如何监控华为、思科网络设备,感兴趣的同学可以关注一波,爱你呦!



Done!


注:本文仅是开源技术分享,没有任何商业目的,如有版权问题请联系小编删除处理,我们并表示歉意



END




看完本文有收获,请分享给更多的人

关注 网络技术杂谈 加星标,提升网络技能