zabbix server 6.0安装(rancher+kubernetes部署)

1、相关资源导航
https://blog.csdn.net/zyj81092211/article/details/122917786

2、环境介绍
zabbix版本:6.0
kubernetes版本:v1.23.4
rancher版本:v2.6.3
容器相关环境配置可参考如下
https://blog.csdn.net/zyj81092211/article/details/123068347

3、创建zabbix命名空间
zabbix server 6.0安装(rancher+kubernetes部署)_第1张图片
4、安装mysql数据库
创建StatefulSets工作负载之前要建立headless服务
(1)创建headless服务
zabbix server 6.0安装(rancher+kubernetes部署)_第2张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第3张图片
(2)创建mysql配置文件ConfigMaps
zabbix server 6.0安装(rancher+kubernetes部署)_第4张图片

[mysqld]
character-set-server=utf8
collation-server=utf8_bin
default-authentication-plugin=mysql_native_password

(3)创建mysql StatefulSets
zabbix server 6.0安装(rancher+kubernetes部署)_第5张图片

环境变量
zabbix server 6.0安装(rancher+kubernetes部署)_第6张图片
pod标签
zabbix server 6.0安装(rancher+kubernetes部署)_第7张图片
配置映射
zabbix server 6.0安装(rancher+kubernetes部署)_第8张图片
数据存储pvc
zabbix server 6.0安装(rancher+kubernetes部署)_第9张图片
验证
存储挂载
zabbix server 6.0安装(rancher+kubernetes部署)_第10张图片
在这里插入图片描述
在这里插入图片描述
报错处理:(在完成后面步骤时,出现问题)
上面设置的参数在初始化数据库时候不生效,会报如下错误

Unsupported charset or collation for tables

zabbix server 6.0安装(rancher+kubernetes部署)_第11张图片
删除重新创建数据库,更改如下
zabbix server 6.0安装(rancher+kubernetes部署)_第12张图片

CREATE DATABASE `zabbix` CHARACTER SET 'utf8' COLLATE 'utf8_bin';

5、安装zabbix-java-gateway
镜像:

zabbix/zabbix-java-gateway:latest

zabbix server 6.0安装(rancher+kubernetes部署)_第13张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第14张图片
6、安装zabbix-server-mysql
zabbix server 6.0安装(rancher+kubernetes部署)_第15张图片
环境变量设置
zabbix server 6.0安装(rancher+kubernetes部署)_第16张图片

注意:headless直接解析到具体pod,没有集群ip地址(重新部署pod ip会变不能直接使用pod ip)
可以通过从coreDNS(在kube-system下可以获得dns地址)获取解析
命名规则:
pod名.服务名.命名空间.svc.cluster.local
在这里插入图片描述
zabbix server 6.0安装(rancher+kubernetes部署)_第17张图片

 			- name: DB_SERVER_HOST
              value: headless-zabbix.zabbix.svc.cluster.local
            - name: MYSQL_DATABASE
              value: zabbix
            - name: MYSQL_USER
              value: zabbix
            - name: MYSQL_PASSWORD
              value: Smtgbk_123
            - name: MYSQL_ROOT_PASSWORD
              value: Smtgbk_123
            - name: ZBX_JAVAGATEWAY
              value: zabbix-java-gateway.zabbix.svc.cluster.local

标签
在这里插入图片描述
7、配置zabbix-web-nginx-mysql
zabbix server 6.0安装(rancher+kubernetes部署)_第18张图片

环境变量设置
zabbix server 6.0安装(rancher+kubernetes部署)_第19张图片

			- name: ZBX_SERVER_HOST
              value: zabbix-server-mysql.zabbix.svc.cluster.local
            - name: DB_SERVER_HOST
              value: headless-zabbix.zabbix.svc.cluster.local
            - name: MYSQL_DATABASE
              value: zabbix
            - name: MYSQL_USER
              value: zabbix
            - name: MYSQL_PASSWORD
              value: Smtgbk_123
            - name: MYSQL_ROOT_PASSWORD
              value: Smtgbk_123

pod标签
zabbix server 6.0安装(rancher+kubernetes部署)_第20张图片
8、zabbix-proxy-mysql部署(可选,机器多可以部署)
注:Zabbix 代理是一个可以从一个或多个被监控设备收集监控数据并将信息发送到 Zabbix 服务器的进程,本质上是代表服务器工作。所有收集到的数据都在本地缓存,然后传输到代理所属的 Zabbix 服务器
工作过程是:proxy去zabbix server获取配置信息(或者zabbix 推送信息到proxy),proxy去agent收集信息,再推送信息到zabbix server
(1)代理程序需要单独的数据库,建立数据库
a、创建headless service
zabbix server 6.0安装(rancher+kubernetes部署)_第21张图片
选择器
在这里插入图片描述

b、创建StatefulSets
zabbix server 6.0安装(rancher+kubernetes部署)_第22张图片

环境变量设置
zabbix server 6.0安装(rancher+kubernetes部署)_第23张图片

            - name: MYSQL_USER
              value: zabbix
            - name: MYSQL_PASSWORD
              value: Smtgbk_123
            - name: MYSQL_ROOT_PASSWORD
              value: Smtgbk_123

pod标签设置
zabbix server 6.0安装(rancher+kubernetes部署)_第24张图片

存储配置
zabbix server 6.0安装(rancher+kubernetes部署)_第25张图片

创建数据库
zabbix server 6.0安装(rancher+kubernetes部署)_第26张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第27张图片
在这里插入图片描述

CREATE DATABASE `zabbix_proxy` CHARACTER SET 'utf8' COLLATE 'utf8_bin';
GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create View, Delete, Drop, Event, Execute, Grant Option, Index, Insert, Lock Tables, References, Select, Show View, Trigger, Update ON `zabbix\_proxy`.* TO `zabbix`@`%`;

(2)安装zabbix-proxy
zabbix server 6.0安装(rancher+kubernetes部署)_第28张图片
环境变量
zabbix server 6.0安装(rancher+kubernetes部署)_第29张图片

			- name: ZBX_HOSTNAME
              value: zabbix-proxy-host
            - name: ZBX_SERVER_HOST
              value: zabbix-server-mysql.zabbix.svc.cluster.local
            - name: DB_SERVER_HOST
              value: zabbixproxy01.zabbix.svc.cluster.local
            - name: MYSQL_USER
              value: zabbix
            - name: MYSQL_PASSWORD
              value: Smtgbk_123
            - name: MYSQL_DATABASE
              value: zabbix_proxy
            - name: ZBX_JAVAGATEWAY_ENABLE
              value: 'true'

pod标签
zabbix server 6.0安装(rancher+kubernetes部署)_第30张图片
9、建立ingress 外部访问zabbix web
ingress控制器部署参考
https://blog.csdn.net/zyj81092211/article/details/123457197
zabbix server 6.0安装(rancher+kubernetes部署)_第31张图片
10、创建外部代理服务器,代理到ingress控制器
zabbix server 6.0安装(rancher+kubernetes部署)_第32张图片
nginx代理创建参考
https://blog.csdn.net/zyj81092211/article/details/123293236
配置文件zabbix.wtown.com.conf参考,创建完成后在dns服务器解析即可

upstream zabbix{
#保持会话连接,开启调度算法ip_hash,url_hash(加载三方模块),sticky(cookie方式,加载nginx-sticky-module-ng模块)
ip_hash;
server 10.99.24.31:30080 weight=1 max_fails=2 fail_timeout=10;
server 10.99.24.32:30080 weight=1 max_fails=2 fail_timeout=10;
server 10.99.24.33:30080 weight=1 max_fails=2 fail_timeout=10;
server 10.99.24.34:30080 weight=1 max_fails=2 fail_timeout=10;
server 10.99.24.35:30080 weight=1 max_fails=2 fail_timeout=10;
server 10.99.24.36:30080 weight=1 max_fails=2 fail_timeout=10;
server 10.99.24.37:30080 weight=1 max_fails=2 fail_timeout=10;

#server 192.168.2.101 down;#标记为down 剔除负载均衡队列
}


server
{
    listen 80;
    #include agent_deny.conf; #加载防止爬虫的配置文件
    server_name zabbix.wtown.com;
    #access_log logs/test.com.access.log main;
    #error_log logs/test.comerror.log  error;
    proxy_buffering on; #开启buffer缓存,异步应答客户端请求,效率高
    proxy_buffer_size 4k;
    proxy_buffers 2 4k;
    proxy_busy_buffers_size 4k;
    proxy_temp_path /tmp/nginx_proxy_tmp 1 2;
    proxy_max_temp_file_size 20M;
    proxy_temp_file_write_size 8k;
    
    location /
    {
        proxy_pass      http://zabbix;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

11、访问zabbix.wtown.com,默认用户名密码是Admin/zabbix
zabbix server 6.0安装(rancher+kubernetes部署)_第33张图片

zabbix server 6.0安装(rancher+kubernetes部署)_第34张图片
12、连接代理服务器到zabbix-server(可选)
zabbix server 6.0安装(rancher+kubernetes部署)_第35张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第36张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第37张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第38张图片
13、zabbix agent 被动模式部署
(1)linux下安装配置
https://repo.zabbix.com/zabbix/6.0/
安装软件源
zabbix server 6.0安装(rancher+kubernetes部署)_第39张图片

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm

安装agent

yum install zabbix-agent2 -y

编辑配置文件

vi /etc/zabbix/zabbix_agent2.conf

被动模式需要更改的参数
注:客户端被动模式是zabbix server或者zabbix proxy主动去agent请求数据
zabbix server 6.0安装(rancher+kubernetes部署)_第40张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第41张图片
上面server处使用的域名在dns服务器上已经解析,解析到所有kubernetes节点
zabbix server 6.0安装(rancher+kubernetes部署)_第42张图片
启动

systemctl start zabbix-agent2
systemctl enable zabbix-agent2

不在server里添加域名或者ip会报如下错误

tail -f /var/log/zabbix/zabbix_agent2.log

在这里插入图片描述
在zabbix server页面添加主机
zabbix server 6.0安装(rancher+kubernetes部署)_第43张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第44张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第45张图片
去zabbix proxy代理上执行

 zabbix_proxy -R config_cache_reload

这个操作会去server端拉取信息
zabbix server 6.0安装(rancher+kubernetes部署)_第46张图片
查看主机状态为绿色客户端上线
在这里插入图片描述
(2)windows客户端
客户端下载地址
开始安装
zabbix server 6.0安装(rancher+kubernetes部署)_第47张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第48张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第49张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第50张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第51张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第52张图片
安装完成会在服务中出现对应的zabbix服务
zabbix server 6.0安装(rancher+kubernetes部署)_第53张图片
防火墙出现对应规则
zabbix server 6.0安装(rancher+kubernetes部署)_第54张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第55张图片
server上添加对应主机
zabbix server 6.0安装(rancher+kubernetes部署)_第56张图片
在这里插入图片描述
14、zabbix agent 主动模式(可选)
注:主动模式zabbix agent会主动请求zabbix server服务器,因为zabbix server部署在kubernetes集群上,不能直接访问,且有多个节点,所以设置通过代理访问

设置nodeport svc映射外网端口
zabbix server 6.0安装(rancher+kubernetes部署)_第57张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第58张图片
zabbix server 6.0安装(rancher+kubernetes部署)_第59张图片
获得端口号31865
在这里插入图片描述
tcp代理搭建设置参考:
https://blog.csdn.net/zyj81092211/article/details/123293236
配置文件参考

upstream zabbixhost{
                 server 10.99.24.31:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
                 server 10.99.24.32:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
                 server 10.99.24.33:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
                 server 10.99.24.35:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
                 server 10.99.24.35:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
                 server 10.99.24.36:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
                 server 10.99.24.37:31865 weight=1 max_fails=2 fail_timeout=10;#被代理的服务器
}
server {
                 listen 10051;#代理服务器端口
                 proxy_connect_timeout 8s;#连接超时
                 proxy_timeout 24h;#代理服务器超时
                 proxy_pass zabbixhost;#明确指定被代理服务器
}

dns添加解析到代理服务器,保证通讯正常
zabbix server 6.0安装(rancher+kubernetes部署)_第60张图片
zabbix agent安装方法同13步:
配置文件中需要修改的
zabbix server 6.0安装(rancher+kubernetes部署)_第61张图片
server端添加主机
zabbix server 6.0安装(rancher+kubernetes部署)_第62张图片
添加完成后,查看已经出数
zabbix server 6.0安装(rancher+kubernetes部署)_第63张图片
问题:
主机这里的状态并不会变:
在这里插入图片描述
15、中文图形乱码解决
下面方框是因为,中文字体的原因造成的,更换字体后就能解决
zabbix server 6.0安装(rancher+kubernetes部署)_第64张图片
zabbix web端容器路径里有字体
zabbix server 6.0安装(rancher+kubernetes部署)_第65张图片
从windows 里找中文字体,替换这个字体
zabbix server 6.0安装(rancher+kubernetes部署)_第66张图片
重命名一下传到nfs共享服务器里:

mount -t nfs vdfs01.wtown.com:/Kubernetes/zabbix-fonts /mnt

在这里插入图片描述
把nfs共享挂载到容器里:
挂载路径:

/usr/share/zabbix/assets/fonts

zabbix server 6.0安装(rancher+kubernetes部署)_第67张图片
查看已正常显示中文
zabbix server 6.0安装(rancher+kubernetes部署)_第68张图片

你可能感兴趣的:(linux,容器及编排,kubernetes,运维,zabbix)