zabbix部署安装

一.Zabbix介绍
Zabbix是一个企业级的、开源的、分布式的监控套件
Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出响应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划.
Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问.Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司.
Zabbix是零成本的. 因为Zabbix编写和发布基于GPL V2协议. 意味着源代码是免费发布的.
Zabbix公司也提供商业化的技术支持

二.Zabbix特性
数据收集:可用性及性能检测、自定义检测、支持SNMP、IPMI、JMX监控。
灵活的阈值定义:允许灵活地自定义问题阀值,Zabbix中称为触发器(trigger), 存储在后端数据库中
高级告警配置:可以自定义告警升级(escalation)、接收者及告警方式
实时绘图:通过内置的绘图方法实现监控数据实时绘图
历史数据存储:数据存储在数据库中,历史数据可配置,有内置数据清理机制
配置简单模板使用:主机通过添加监控设备的方式添加,一次配置终生监控,同时监控设备允许使用模板。
网络自动发现:模板中可以添加组监控,同时模板可以允许继承
Zabbix-api:提供程序级别的访问接口,第三方程序可以很快接入;而且通过zabbix proxy可以创建远程监控。

三.Zabbix构成
zabbix_agentd:客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。端口号:10050
zabbix_get:zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
zabbix_server:zabbix服务端守护进程。端口号:10051
zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到zabbix-server;当然不是所有数据都是主动提交给zabbix_server,也有的是server主动去取数据。
zabbix_proxy:zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。

四.####部署脚本#####
zabbix-anget_install.sh

点击查看代码
# !/bin/bash
# author : hobby
# Zabbix-agent  one-click installation script

# Turn off the firewalld
systemctl stop firewalld

# Turn off the firewalld and start automatically
systemctl disable firewalld

# Temporarily turn off selinux
setenforce 0

# Set selinux off permanently
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# Install zabbix source, aliyun YUM source, zabbix source
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
 

# Install zabbix and related services
yum install zabbix-agent -y
sed -i 's#Server=127.0.0.1#Server=192.168.1.21#' /etc/zabbix/zabbix_agentd.conf
systemctl start  zabbix-agent
# Write boot start.
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start  zabbix-agent
EOF

##################################
zabbix-server_install.sh

点击查看代码
#!/bin/bash

#    检查操作系统版本,该脚本只能运行在 Centos 7.x 系统上
cat /etc/redhat-release |grep -i centos |grep '7.[[:digit:]]' >/dev/null
if [[ $? != 0 ]] 
then
    echo -e "不支持的操作系统,该脚本只适用于CentOS 7.x  x86_64 操作系统"
    exit 1
fi

#    配置无人值守的安装,定义安装过程中需要用到的一些信息
DBPassword=admin123
CacheSize=256M
ZBX_SERVER_NAME=Zabbix-Server
http_port=1196

#    配置 Zabbix 防火墙
firewall-cmd --permanent --zone=public --add-port=10051/tcp
firewall-cmd --permanent --zone=public --add-port=162/udp
firewall-cmd --permanent --zone=public --add-port=$http_port/tcp
firewall-cmd --reload

#    禁用服务器 SELinux
etenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/sysconfig/selinux

#    配置 Zabbix 4.2 YUM 源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
sed -i 's/repo.zabbix.com/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
yum clean all

#    安装 Zabbix 4.2 Server、Web、Agent、DB
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent mysql mariadb-server wget

#    配置 Zabbix 数据库(创建账号,并导入zabbix库结构)
systemctl enable mariadb.service
systemctl start mariadb.service
mysql -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by '$DBPassword';"
mysql -e "flush privileges;"
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql zabbix 

#    配置 Zabbix Web Server
sed -i 's/# php_value date.timezone Europe\/Riga/php_value date.timezone Asia\/Shanghai/' /etc/httpd/conf.d/zabbix.conf
sed -i 's/Listen 80/Listen '$http_port'/' /etc/httpd/conf/httpd.conf
cp /usr/share/zabbix/conf/zabbix.conf.php.example /etc/zabbix/web/zabbix.conf.php
sed -i "10c \$DB[\"PASSWORD\"]    = '$DBPassword';" /etc/zabbix/web/zabbix.conf.php
sed -i "16c \$ZBX_SERVER_NAME   = '$ZBX_SERVER_NAME';" /etc/zabbix/web/zabbix.conf.php

#    配置 Zabbix Server
sed -i "/^# DBPassword=/a DBPassword=$DBPassword" /etc/zabbix/zabbix_server.conf
sed -i "/^# CacheSize=8M/a CacheSize=$CacheSize" /etc/zabbix/zabbix_server.conf
sed -i "/^# StartPingers=1/a StartPingers=10" /etc/zabbix/zabbix_server.conf

#    启动 Zabbix 相关服务,并设置开机自启动
systemctl enable zabbix-server zabbix-agent httpd
systemctl start zabbix-server zabbix-agent httpd

#    安装成功,提示访问方式
echo -e  "\n您可以通过以下地址来访问 Zabbix Web Page\n"
for i in `ip a | grep 'inet ' | awk '{print $2}' | awk -F '/' '{print $1}'` ; do echo -e "\thttp://$i:$http_port/zabbix" ; done
echo -e  "\n默认账号:Admin 密码:zabbix\n"
posted @ 2022-06-29 16:17  seaskyccl  阅读(94)  评论(0编辑  收藏  举报