Linux Saltstack 远程部署 zabbix-server

首先准备zabbix-server的安装包及依赖:

[root@server1 zabbix]# ls 4.4/
apache-tomcat-8.5.24.tar.gz                  php-pdo-5.4.16-46.el7.x86_64.rpm
fping-3.10-1.el7.x86_64.rpm                  php-xml-5.4.16-46.el7.x86_64.rpm
jdk-8u121-linux-x64.rpm                      simkai.ttf
oneitsm_zabbix_release-1.2.0.tar.gz          zabbix-agent-4.4.1-1.el7.x86_64.rpm
percona-zabbix-templates-1.1.8-1.noarch.rpm  zabbix-get-4.4.1-1.el7.x86_64.rpm
php-5.4.16-46.el7.x86_64.rpm                 zabbix-java-gateway-4.4.1-1.el7.x86_64.rpm
php-bcmath-5.4.16-46.el7.x86_64.rpm          zabbix-proxy-mysql-4.4.1-1.el7.x86_64.rpm
php-cli-5.4.16-46.el7.x86_64.rpm             zabbix-sender-4.4.1-1.el7.x86_64.rpm
php-common-5.4.16-46.el7.x86_64.rpm          zabbix-server-mysql-4.4.1-1.el7.x86_64.rpm
php-gd-5.4.16-46.el7.x86_64.rpm              zabbix-web-4.4.1-1.el7.noarch.rpm
php-ldap-5.4.16-46.el7.x86_64.rpm            zabbix-web-mysql-4.4.1-1.el7.noarch.rpm
php-mbstring-5.4.16-46.el7.x86_64.rpm        zbx_percona_mysql_template_20200312_191902.xml
php-mysql-5.4.16-46.el7.x86_64.rpm           zbx_percona_mysql_template.xml
[root@server1 zabbix]# pwd
/srv/salt/zabbix

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

准备数据库sql语句(创建zabbix数据库,创建zabbix用户及授权):

[root@server1 zabbix]# cat zabbix.sql 
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'localhost' identified by 'redhat';
grant all privileges on zabbix.* to zabbix@'%' identified by 'redhat';

 
 
  • 1
  • 2
  • 3
  • 4

准备zabbix-web配置文件:


[root@server1 zabbix]# cat zabbix.conf 
#
# Zabbix monitoring system php web frontend
#
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Require all granted
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai
    </IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
    Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
    Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
    Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
    Require all denied
</Directory>

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

准备zabbix-server配置文件(可以复制更改):

[root@server1 zabbix]# cat zabbix_server.conf
只需更改124行:
 124 DBPassword=redhat		#zabbix用户的密码

 
 
  • 1
  • 2
  • 3

接下来最重要的sls文件:

[root@server1 zabbix]# cat init.sls 
zabbix:
  pkg.installed:
    - pkgs:
      - mariadb-server
  file.managed:
    - name: ~/zabbix.sql
    - source: salt://zabbix/zabbix.sql
  cmd.run:
    - name: cd /root/4.4/ && yum install zabbix-server-mysql-4.4.1-1.el7.x86_64.rpm zabbix-web-mysql-4.4.1-1.el7.noarch.rpm zabbix-web-4.4.1-1.el7.noarch.rpm php-* fping-3.10-1.el7.x86_64.rpm -y &> /dev/null && systemctl start mariadb && cd /root/ && mysql < zabbix.sql && zcat /usr/share/doc/zabbix-server-mysql-4.4.1/create.sql.gz | mysql -uzabbix -predhat zabbix
    - require:
      - file: ~/zabbix.sql 
  service.running:
    - name: 
      - zabbix-server
    - enable: true
    - reload: true
    - require:
      - file: /etc/zabbix/zabbix_server.conf
httpd:
  service.running:
    - enable: true
    - reload: true
    - require:
      - file: /etc/httpd/conf.d/zabbix.conf
/etc/zabbix/zabbix_server.conf:
  file.managed:
    - source: salt://zabbix/zabbix_server.conf
    - require:
      - file: /etc/httpd/conf.d/zabbix.conf
/etc/httpd/conf.d/zabbix.conf:
  file.managed:
    - source: salt://zabbix/zabbix.conf

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

首先将安装包与依赖性推送过去:

[root@server1 zabbix]# salt server5 cp.get_dir salt://zabbix/4.4/ ~

 
 
  • 1

最后直接推送即可:

[root@server1 zabbix]# salt server5 state.sls zabbix

 
 
  • 1

推送成功后在浏览器访问:http://172.25.63.5/zabbix

在这里插入图片描述可以看出部署成功,接下来的操作与参考博客相同,最后结果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Kubernetes部署Zabbix Server的详细步骤和YAML文件: 1. 创建PV和PVC 在Kubernetes上部署Zabbix Server,需要使用持久卷(PV)和持久卷声明(PVC)来存储数据。下面是一个示例PVC YAML文件: ``` apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zabbix-db-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi ``` 使用kubectl命令创建PVC: ``` kubectl apply -f zabbix-db-pvc.yaml ``` 2. 创建ConfigMap Zabbix Server需要使用一些配置文件,可以将这些文件打包为一个ConfigMap。下面是一个示例ConfigMap YAML文件: ``` apiVersion: v1 kind: ConfigMap metadata: name: zabbix-server-config data: zabbix_server.conf: | DBHost=zabbix-db DBName=zabbix DBUser=zabbix DBPassword=zabbix AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts ``` 使用kubectl命令创建ConfigMap: ``` kubectl apply -f zabbix-server-configmap.yaml ``` 3. 创建Deployment和Service 下面是一个示例Deployment YAML文件: ``` apiVersion: apps/v1 kind: Deployment metadata: name: zabbix-server spec: replicas: 1 selector: matchLabels: app: zabbix-server template: metadata: labels: app: zabbix-server spec: containers: - name: zabbix-server image: zabbix/zabbix-server-mysql:latest volumeMounts: - name: zabbix-db-data mountPath: /var/lib/mysql - name: zabbix-server-config mountPath: /etc/zabbix/zabbix_server.conf subPath: zabbix_server.conf env: - name: MYSQL_DATABASE value: zabbix - name: MYSQL_USER value: zabbix - name: MYSQL_PASSWORD value: zabbix - name: MYSQL_HOST value: zabbix-db - name: MYSQL_PORT value: "3306" ports: - containerPort: 10051 volumes: - name: zabbix-db-data persistentVolumeClaim: claimName: zabbix-db-pvc - name: zabbix-server-config configMap: name: zabbix-server-config ``` 使用kubectl命令创建Deployment: ``` kubectl apply -f zabbix-server-deployment.yaml ``` 下面是一个示例Service YAML文件: ``` apiVersion: v1 kind: Service metadata: name: zabbix-server spec: selector: app: zabbix-server ports: - name: zabbix port: 10051 protocol: TCP targetPort: 10051 ``` 使用kubectl命令创建Service: ``` kubectl apply -f zabbix-server-service.yaml ``` 这样,Zabbix Server就成功部署到了Kubernetes上。可以使用kubectl命令查看Deployment和Service状态: ``` kubectl get deployments kubectl get services ``` 如果一切正常,应该能够看到Zabbix Server的Deployment和Service都处于“运行中”状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值