Zabbix 监控

Zabbix 企业级监控

Zabbix 部署及规划

常见监控方案

Cacti https://www.cacti.net/

Nagios https://www.nagios.org/

SmokePing https://oss.oetiker.ch/smokeping/

Open-falcon https://www.open-falcon.org/

Prometheus https://prometheus.io/

Zabbix https://www.zabbix.com/cn/

监控宝(商业) https://www.jiankongbao.com/

听云(商业) https://www.tingyun.com/

Zibbix 介绍

Zabbix是一个基于PHP编写的企业级监控方案,完全免费开源,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标,适用于任何IT基础架构、服务、应用程序和资源的监控解决方案

数据

#数据采集
主机/对象:服务器、路由器、交换机、存储、防火墙、IP、PORT、URL、自定义监控对象...
采集目标:监控项,指标数据

#数据存储
SQL: MySQL/MariaDB(Zabbix)
NoSQL:Redis(Open-falcon)
rrd: Round Robin Database(Cacti)

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

#阈值
可按照预定义的阈值等级实现分层报警

#告警机制
邮件,短信,微信,语音,故障自治愈

Zabbix 初步部署
下载地址 https://www.zabbix.com/cn/download http://repo.zabbix.com/zabbix/

服务器系统:ubuntu 18.04/Centos 7.x
10.0.0.13   Zabbix
10.0.0.7    mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install -y mysql-server
systemctl enable --now mysql
grep 'temporary password' /var/log/mysqld.log   #查看密码
mysql -p
  status;   
  set global validate_password_policy=LOW;
  alter user 'root'@'localhost' identified by 'ssy192011';
  create database zabbix default charset 'utf8' collate 'utf8_bin';
  grant all on zabbix.* to zabbix@'10.0.0.%' identified by 'ssy192011';
mysql -uzabbix -pssy192011 -h10.0.0.7  #myslq测试连接

#安装zabbix server
wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2%2Bbionic_all.deb
dpkg -i zabbix-release_4.0-2+bionic_all.deb 
dpkg -L zabbix-release
vim /etc/apt/sources.list.d/zabbix.list  #将源指向aliyun
apt update
apt install -y zabbix-server-mysql zabbix-frontend-php \
zabbix-apache-conf zabbix-agent

#导入数据初始化数据库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | \
mysql -uzabbix -p -h10.0.0.7 zabbix
vim /etc/zabbix/zabbix_server.conf
 DBHost=10.0.0.7
 DBName=zabbix
 DBUser=zabbix
 DBPassword=ssy192011
 DBPort=3306
vim /etc/zabbix/apache.conf
 20  php_value date.timezone Asia/Shanghai
 30  php_value date.timezone Asia/Shanghai
systemctl restart zabbix-server zabbix-agent apache2  
systemctl enable zabbix-server zabbix-agent apache2
#浏览器访问 http://10.0.0.13/zabbix
用户: Admin
密码: zabbix
ss -ntal   #10051端口已打开

web界面中文菜单环境

apt -y install language-pack-zh*
echo 'LANG="zh_CN.UTF-8"' >> /etc/environment
. /etc/environment
dpkg-reconfigure locales   #选择zh_CN.UTF-8 
systemctl restart zabbix-server zabbix-agent apache2 

#当前系统有些监控项部分显示有乱码,需上传字体文件
在Windows上找到控制面板-->字体-->中文字体,然后将字体拷贝到windows桌面
将windows字体文件上传至zabbix web目录
cd /usr/share/zabbix/assets/fonts/
chown -R zabbix.zabbix ./*
vim /usr/share/zabbix/include/defines.inc.php
  define('ZBX_GRAPH_FONT_NAME', 'simkai');
  define('ZBX_FONT_NAME', 'simkai');

Zabbix 编译安装
https://www.zabbix.com/documentation/current/manual/installation/install

#10.0.0.7安装mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install mysql-server -y
systemctl restart mysqld
grep 'temporary password' /var/log/mysqld.log   #查看密码
mysql -p"密码"
mysql> set global validate_password_policy=LOW;
mysql> alter user 'root'@'localhost' identified by 'ssy192011';
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all on zabbix.* to zabbix@"10.0.0.%" identified by 'ssy192011';

#编译安装zabbix
useradd -u 2020 zabbix
tar xvf zabbix-4.4.8.tar.gz -C /opt/
cd /opt/zabbix-4.4.8/
#centos解决依赖包关系
yum install gcc libxml2-devel   net-snmp net-snmp-devel   curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel -y  
#Ubuntu解决依赖包关系
apt install -y apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 fontconfig-config fonts-dejavu-core fping libapache2-mod-php libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libfontconfig1 libgd3 libiksemel3 libjbig0 libjpeg-turbo8 libjpeg8 liblua5.2-0 libodbc1 libopenipmi0 libsensors4 libsnmp-base libsnmp30 libsodium23 libssh2-1 libtiff5 libwebp6 libxpm4 php-bcmath php-common php-gd php-ldap php-mbstring php-mysql php-xml php7.2-bcmath php7.2-cli php7.2-common php7.2-gd php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml snmpd ssl-cert ttf-dejavu-core libmysqlclient-dev  libxml2-dev libxml2 snmp libsnmp-dev libevent-dev openjdk-8-jdk curl libcurl4-openssl-dev

./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
make install
apt install mysql-client -y  #安装mysql客户端
mysql -uzabbix -pssy192011 -h10.0.0.7  #测试连接
cd /opt/zabbix-4.4.8/database/mysql/
mysql -uzabbix -pssy192011 -h10.0.0.7 zabbix < schema.sql 
mysql -uzabbix -pssy192011 -h10.0.0.7 zabbix < images.sql
mysql -uzabbix -pssy192011 -h10.0.0.7 zabbix < date.sql
grep '^[a-zA-Z]' /opt/zabbix/etc/zabbix_server.conf
  ListenPort=10051
  LogFile=LogFile=/opt/zabbix/zabbix_server.log
  DBHost=10.0.0.7
  DBName=zabbix
  DBUser=zabbix
  DBPassword=ssy192011
  DBPort=3306
  Timeout=20
  LogSlowQueries=3000
  StatsAllowedIP=127.0.0.1
ln -s /opt/zabbix/sbin/* /usr/sbin/  
zabbix_server  #启动zabbix_server服务
zabbix_agentd  #启动zabbix_agentd
ps aux|grep zabbix
mkdir /var/www/html/zabbix
mv /opt/zabbix-4.4.8/frontends/php/* /var/www/html/zabbix/
chown -R zabbix.zabbix /opt/zabbix /var/www/html/zabbix/

#浏览器访问:10.0.0.13/zabbix  根据提示修改配置文件
apt install -y php-gettext php-xml php-net-socket php-gd php-mysql
vim /etc/php/7.2/apache2/php.ini
pkill zabbix_server
zabbix_server
#手动下载配置文件并上传至/var/www/html/zabbix/conf/zabbix.conf.php路径
登录  Admin:zabbix
vim /lib/systemd/system/zabbix.service   #准备启动脚本

#web中文菜单界面
apt install -y language-pack-zh*
echo 'LANG="zh_CN.UTF-8"' >> /etc/environment 
. /etc/environment
dpkg-reconfigure locales  #选择UTF-8
systemctl restart  zabbix apache2

Zabbix配置文件详解

平台CPU/内存监控主机数量
Centos/ubuntu虚拟机或容器20左右
Centos/ubuntu4核CPU / 4G内存80左右
红帽企业Linux8核CPU / 16G内存500左右
红帽企业Linux16核CPU / 32G内存1000左右
数据库服务器:CPU性能及磁盘IO速度要快,空间大,内存32G

配置文件:
vim /opt/zabbix/etc/zabbix_server.conf
ListenPort=10051      #监听端口
ListenIP=0.0.0.0      #zabbix监听地址
User=zabbix      #zabbix启动用户
LogFile=/opt/zabbix/zabbix_server.log   #日志文件路径
PidFile=/tmp/zabbix_server.pid       #pid文件路径
DBHost=10.0.0.7       #数据库IP地址
DBName=zabbix         #数据库名称
DBUser=zabbix         #数据库用户
DBPassword=ssy192011  #数据库密码
DBPort=3306           #数据库端口

#zabbix性能相关
StartPollers=5      #启动多少个实例数量
StartPreprocessors=3   #启动多少个进程用于收集zabbix agent数据
StartTrappers=5     #预启动的Trapper的进程数量,使用Trapper进程实现触发器
StartPingers=2      #ping命令检测后端服务器状态的进程数量
StartHTTPPollers=1  #http进程数量
CacheSize=32M       #配置信息缓存大小
CacheUpdateFrequency=60   #zabbix更新缓存数据的频率,60秒
StartDBSyncers=4   #zabbix和数据库数据同步的进程数
HistoryCacheSize=16M  #历史数据的缓存大小
HistoryIndexCacheSize=4M   #历史数据索引缓存大小
ValueCacheSize=8M     #历史值的缓存大小
Timeout=4     #数据采集等待超时时长
TrapperTimeout=300  #触发器处理数据的最长时间
UnreachablePeriod=45  #当主机不可达多久设为主机不可以
UnavailableDelay=60   #当主机不可用,多久检测一次该主机的可用性
AlertScriptsPath=${datadir}/zabbix/alertscripts  #监控报警脚本路径
FpingLocation=/usr/sbin/fping   #fping命令路径,检测主机的可用性
LogSlowQueries=3000   #慢日志时间(毫秒为单位)
StartProxyPollers=1   #启动多少个进程与代理端通信
ProxyDataFrequency=1  #被动模式下,zabbix server每间隔多少秒向代理请求数据
Include=/etc/zabbix/zabbix.conf  #包含其他配置文件

#javagateway相关
zabbix默认不能直接监控java程序,需要通过javagatewy代理
JavaGateway=10.0.0.3    #javagateway服务器地址
JavaGatewayPort=10052   #javagateway服务器端口
StartJavaPollers=20     #java轮询实例预启动数量

SNMPTrapperFile=/tmp/zabbix_traps.tmp #snmp触发器零时文件路径
StartSNMPTrapper=0     #snmp触发器预启动数量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值