第10周作业

1. 总结各系统版本的zabbix安装。

一.二进制包安装
官方下载地址https://www.zabbix.com/download
安装配置数据库
修改前端配置
例:
centos8安裝zabbix
监控端配置
1.安装Zabbix库
# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
# dnf clean all

2.安装Zabbix server,连接Web前端,agent客户端 mysql连接插件 
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get mysql-server

3.启动数据库服务,创建zabbix使用数据库,账号及授权
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'192.168.29.%' identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> exit;

4.导入初始架构和数据,系统将提示您输入新创建的密码。
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

5.导入数据库架构后禁用log_bin_trust_function_creators选项。
mysql> set global log_bin_trust_function_creators = 0;

6.为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password

7.为Zabbix前端配置PHP
编辑配置文件 /etc/nginx/conf.d/zabbix.conf 取消注释并设置“listen”和“server_name”指令。
# listen 8080;
# server_name example.com;

8.启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm

9.修复中文字体不显示bug,将windos中的中文字体上传到zabbix服务器上
	cd /usr/share/zabbix/assets/fonts/
	mv graphfont.ttf graphfont.ttf.bak
    mv /root/simkai.ttf graphfont.ttf
	
被监控端配置:
客户端agent下载地址:https://www.zabbix.com/cn/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&components=agent&db=&ws=
1.安装Zabbix库
#rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
2.安装Zabbix agent
# dnf install zabbix-agent
3.修改配置文件中监控端地址或域名指向
vim /etc/zabbix/zabbix_agentd.conf		
	Server=ip/zabbix.liguox.org	
4.启动Zabbix agent进程,使其在系统启动时启动。
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent

二.编译安装(centos)
1.安装相关程序yum -y install gcc pcre-devel libxml2-devel php-bcmath 
php-mbstring net-snmp net-snmp-devel curl-devel php php-gd php-xml libevent-devel 
java-1.8.0-openjdk-devel mariadb mariadb-devel

2.创建用户和组
groupadd zabbix
#useradd -g zabbix zabbix

3.解压源码包,并进入到zabbix目录进行编译
#./configure --prefix=/apps/zabbix_server --
enable-server --enable-agent   --enable-java --with-mysql --with-net-snmp --
with-libcurl --with-libxml

make -j 2 
make install

4.创建软连接或者定义环境变量
#ln -s /apps/zabbix_server/sbin/* /usr/sbin/
#ln -s /apps/zabbix_server/bin/* /usr/bin/

#echo 'PATH=/apps/zabbix_server/bin:$PATH' > 
/etc/profile.d/zabbix.sh
#. /etc/profile.d/zabbix.sh

5.安装数据库并初始化数据库

6.修改zabbix server配置文件配置数据库链接账号密码

三.容器安装
1.创建zabbix组将容器专用网络
2.通过zabbix专用网络启动mysql容器,zabbix-java-gateway容器,zabbix-server-mysql容器,zabbix web容器,zabbix agent容器

2. 总结 zabbix主动模式和被动模式简介及实现

被动模式: Server 向 Agent 请求获取监控项的数据,Agent返回数据。此为默认模式,如果有100个
监控项,则需要100次交互
主动模式: Agent 请求 Server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给
server/proxy,如有100个监控项,只需要1次交互即可

被动模式:
默认模式,只需要在被监控服务器zabbix_agentd.conf文件中Option: Server相关内容中添加监控服务器ip
### Option: Server
.............
Server=192.168.29.225


主动模式:
1.需要在被监控服务器zabbix_agentd.conf文件中 Active checks related、 Option: Hostname添加监控服务器信息
2.前端页面中更新模版为active监控模版
##### Active checks related
ServerActive=192.168.29.225

### Option: Hostname
Hostname=192.168.29.225

3. 总结 zabbix proxy主动及被动案例

1.安装zabbix proxy和proxy代理用的mysql
2.修改zabbix_proxy.conf配置文件
ProxyMode=0                         #主动模式为0,被动模式为1,默认为0即主动模式
Server=192.168.29.225               #指向Zabbix Server
Hostname=zabbix-proxy-active        #此名称必须和后面Web管理页的agent代理程序名称相同
DBHost=localhost                    #MySQL服务器地址
DBName=zabbix_proxy_active          #MySQL数据库名
DBUser=proxy                        #连接MySQL的用户
DBPassword=123456                   #连接MySQL的用户密码

3.修改proxy代理监控的agent服务器上的配置文件,server地址指向proxy

4.zabbix前端页面添加proxy代理信息,配置agent时勾选对应agent代理监测

4. 总结自定义监控,监控win, nginx, 并基于短信/微信报警。

一、自定义监控项
1.创建自定义模版相关配置,修改agent配置文件
### Option: User
Include=/etc/zabbix/zabbix_agentd.d/*.conf

├── zabbix_agentd.d
│   └── test.conf

2.创建自定义监控项
UserParameter=<key>,<shell command>
UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping 2> /dev/null|grep -c alive


二、监控windows/nginx
选择监控主机、关联windows/nginx监控模版

三、报警
开启有序通知功能
创建报警媒介、添加消息模版用于发送信息
用户管理报警媒介
创建动作实现条件触发


5. 完成1键安装zabbix agent脚本,可以用于ubuntu系统。

ZABBIX_VER=
FILE=zabbix-${ZABBIX_VER}.tar.gz
INSTALL_DIR=/apps/zabbix_agent
SERVER=
HOST=`hostname -I`
. /etc/os-release
color () {
    RES_COL=60
    MOVE_TO_COL="echo -en \\033[${RES_COL}G"
    SETCOLOR_SUCCESS="echo -en \\033[1;32m"
    SETCOLOR_FAILURE="echo -en \\033[1;31m"
    SETCOLOR_WARNING="echo -en \\033[1;33m"
    SETCOLOR_NORMAL="echo -en \E[0m"
    echo -n "$1" && $MOVE_TO_COL
    echo -n "["
    if [ $2 = "success" -o $2 = "0" ] ;then
        ${SETCOLOR_SUCCESS}
        echo -n $" OK "    
    elif [ $2 = "failure" -o $2 = "1" ] ;then 
        ${SETCOLOR_FAILURE}
        echo -n $"FAILED"
    else
        ${SETCOLOR_WARNING}
        echo -n $"WARNING"
    fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo
}
check(){
    wget
https://cdn.zabbix.com/zabbix/sources/stable/${ZABBIX_VER%.*}/zabbix-$ZABBIX_VER
.tar.gz
 [ -e ${FILE} ] || { color "$FILE 文件不存在,请检查" 1 ; exit 1; }
}
prepare (){
    if [ $ID = "centos" $ID = "rocky" ];then 
   yum -y install gcc make pcre-devel || { color "zabbix agent 相关包安装失
败,请检查" 1 ;exit; }
    else
 apt -y install gcc make || { color "zabbix agent 相关包安装失败,请检查" 1
;exit; }
 fi
 id zabbix &> /dev/null || useradd -r zabbix
}
install() {
 tar xf $FILE
 cd zabbix-$ZABBIX_VER
 ./configure --prefix=${INSTALL_DIR} --enable-agent
 make && make install
}
config () {
    sed -i.bak -e "s/Server=127.0.0.1/Server=$SERVER/"  -e "s/Hostname=Zabbix 
server/Hostname=$HOST/" ${INSTALL_DIR}/etc/zabbix_agentd.conf
    echo 'PATH=${INSTALL_DIR}/bin/:${INSTALL_DIR}/sbin/:$PATH' > 
/etc/profile.d/zabbix_agent.sh
}
service (){
 cat > /lib/systemd/system/zabbix-agent.service <<EOF
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=${INSTALL_DIR}/sbin/zabbix_agentd -c
${INSTALL_DIR}/etc/zabbix_agentd.conf 
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
EOF
 systemctl daemon-reload 
 systemctl enable --now zabbix-agent.service 
   systemctl is-active zabbix-agent.service && color "Zabbix Agent 安装完成并启动"
0
}
check
prepare
install
config
service

6. 完成1键脚本,可以基于zabbix api添加zabbix agent到zabbix web。

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值