shell 搭配 python 自动安装zabbix监控端详解

脚本环境

1.linux centos 7 系统
2.光盘镜像文件已挂载
3.系统可连接外网
4.字体链接:https://pan.baidu.com/s/1m9WJys5aGuUi-WgBG-zrxw
提取码:qq6r

实验步骤

1.上传字体文件和zabbix脚本到Linux系统/root目录下

方法一:挂载 方法二:通过Xftp软件上传

2.脚本zabbix.sh详解

#!/bin/bash
#this is auto install lamp + zabbix shell!
#
#获取ip地址
ip=`ifconfig ens33 | grep "netmask" | awk ‘{print $2}‘`
#获取主机名
name=`hostname`
#关闭防火墙、安全性
systemctl stop firewalld.service
setenforce 0
#
#下载所有安装包
if [ $? -eq 0 ];then
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm && yum install zabbix-server-mysql zabbix-web-mysql mariadb mariadb-server php-bcmath php-mbstring httpd php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash -y && sleep 5
#
if [ $? -eq 0 ];then
#修改httpd,php 配置文件
sed -i "s/^Listen 80/Listen $ip:80/g" /etc/httpd/conf/httpd.conf
sed -i ‘164s/$/ index.php/‘ /etc/httpd/conf/httpd.conf
sed -i "s/^;date.timezone =/date.timezone = PRC/g" /etc/php.ini

#启动httpd,mariadb 服务
systemctl start httpd.service
systemctl start mariadb
else echo -e "\e\t\t\t[31m package down error,check! \e[0m"
exit 0
fi
#
#检查mysql,http服务启动状态
port=`netstat -ntap | egrep ‘(80|3306)‘|wc -l`
if [ $? -eq 0 ]&&[ $port -gt "2" ];then
echo -e "\033\t\t\t[32m mysql run success!! \033[0m"
#
#创建zabbix库,密码
mysql -e "create database zabbix character set utf8 collate utf8_bin;grant all privileges ON . TO ‘zabbix‘@‘%‘ identified by ‘admin123‘;flush privileges;drop user ‘‘@localhost;drop user ‘‘@$name;"
#
#数据库设置密码(可自定义)
# mysqladmin -u root password ‘admin123‘
else
echo -e "\033\t\t\t[5;31m mysql start error,check!! \033[0m"
exit 0
fi
#
#zabbix安装、配置
if [ $? -eq 0 ];then
#zabbix连接数据库
echo -e ‘<?php\n$link=mysql_connect(localhost);\nif($link) echo "Success!!";\nelse echo "Fail!!";\nmysql_close();\n?>‘ >>/var/www/html/index.php
sed -i "s/localhost/‘$ip‘,‘zabbix‘,‘admin123‘/g" /var/www/html/index.php
echo -e "\e\t\t\t[32m test http://$ip/index.php \e[0m"
#
#zabbix 导入数据库
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz |mysql -uzabbix -padmin123 zabbix
#
#修改zabbix配置文件
sed -i "s/^# DBPassword=/DBPassword=admin123/g" /etc/zabbix/zabbix_server.conf
sed -i "20iphp_value date.timezone Asia/Shanghai" /etc/httpd/conf.d/zabbix.conf
#
#修改字体
sed -i "s/graphfont/kaiti/g" /usr/share/zabbix/include/defines.inc.php
cp /root/STKAITI.TTF /usr/share/zabbix/fonts/
#
#开启zabbix 服务
systemctl start zabbix-server.service && systemctl enable zabbix-server.service
systemctl restart httpd && sleep 3
else echo -e "\e\t\t\t[31m zabbix set error,check! \e[0m"
exit 0
fi
#
#检查zabbix服务端口
http_port=`netstat -antp | grep :80 | wc -l`
zabbix_port=`netstat -antp | grep :10051 | wc -l`
if [ $? -eq 0 ]&&[ $http_port -ne 0 ]&& [ $zabbix_port -ne 0 ];then
echo -e "\033\t\t\t[32m http and zabbix run success!! \033[0m"
echo -e "\033\t\t\t[32m install web http:$ip/zabbix \033[0m"
else
echo -e "\033\t\t\t[5;31m zabbix install fail,check!! \033[0m"
exit 0
fi
#防火墙停止错误
else
echo -e "\e\t\t\t[31m stop firewalld error,check! \e[0m"
fi

3.添加脚本执行权限

chmod +x zabbix.sh

4.编写python selenium 模块

from selenium import webdriver
import time
#采用谷歌浏览器
driver = webdriver.Chrome()
#进入安装链接
driver.get("http://192.168.22.136/zabbix")
print(driver.title)
#定位“next”元素,点击鼠标(就是点击下一步)
driver.find_element_by_id("next_0").click()

#点击下一步
driver.find_element_by_id("next_1").click()

#清除文本后
driver.find_element_by_id("port").clear()
#输入新文本
driver.find_element_by_name("port").send_keys("3306")
driver.find_element_by_name("password").send_keys("admin123")
driver.find_element_by_id("next_2").click()


#填写name,点击下一步
driver.find_element_by_id("zbx_server_name").send_keys("zabbix")
driver.find_element_by_id("next_3").click()

#点击下一步
driver.find_element_by_id("next_4").click()

#点击完成
driver.find_element_by_id("finish").click()

#填写用户登陆信息
driver.find_element_by_id("name").send_keys("Admin")
driver.find_element_by_id("password").send_keys("zabbix")
driver.find_element_by_id("enter").click()

5.先执行shell 脚本

sh zabbix.sh

6.执行python selenium , 保存后点击F5.

总结:

1.编写shell脚本必须让有些命令顺序运行,该判断的地方一定要有!
2.在下载软件包时要休眠几秒(seep 5)否则没下载完成就运行后面命令。
3.这里的zabbix 安装基于lamp 架构上,lamp都是yum安装的,不建议采用源码包安装,太费时间了!
4.这里的数据库设置都是默认的,为了安全,后期应该加密码(脚本中有命令,注释了,去#就可以了)
5.在网页上安装zabbix 时,定位元素直接找"id"即可。
6.脚本文件不建议直接拷贝使用,可以去我的资料下载脚本http://down.51cto.com/data/2460609
7.此脚本只是监控端安装,后期会有被监控端安装脚本,敬请期待!

原文地址:https://blog.51cto.com/13760351/2379953

时间: 2024-10-14 00:29:25

shell 搭配 python 自动安装zabbix监控端详解的相关文章

自动安装zabbix客户端shell脚本

一般工作中要部署新服务器,部署完成还要添加zabbix监控,所以安装zabbix客户端是很频繁的,我这里写了一个简单的自动安装脚本,不是很完善,但也可以平时拿来用. 脚本运行的时候可能会出来一些错误,可以看终止时的错误信息,很可能是缺少相关的包,根据信息安装包再重新运行即可. 注意修改配置的内容,要根据实际情况做相应的修改,比如server和hostname,server是服务端的ip,根据实际情况配置,hostname我这里设置的是客户端自己的ip,也可以根据自身情况修改.在获取本地ip时,这

python自动安装mysql5.7

python自动安装mysql5.7 python版本:python2.6 centos版本:centos6.9 mysql版本:mysql5.7.19 安装目录路径和数据目录路径都是固定,当然也可以自己修改 这个脚本的原理是,通过createmycnf.sh的shell脚本生成my.cnf,buffer pool大小等在shell脚本里已经计算好,然后installmysql.py修改生成好的my.cnf里的端口等变量 并根据my.cnf来初始化mysql,初始化完毕之后启动mysql服务,并

RedHat 7.1 下安装 Zabbix监控程序详解(适合linux初级用户)

RedHat 7.1 安装 Zabbix 监控程序详解(适合对linux初级用户)2017-05-02 安装步骤: 1.zabbix需要安装LAMP架构 2.安装zabbix服务 3.初始化zabbix系统 1.安装环境:VMware虚拟 1 2 3 4 [[email protected] ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo) [[email protected] ~]#

在服务器上使用python自动获取zabbix上图形并发送邮件

由于某些需求,需要每天发送邮件给相关人员,其中包含前一天的zabbix监控图形,每天登陆并手动发送的话很麻烦. 本着简单重复的工作交给机器做的原则,写了个python程序自动获取图形并发送. 大致的思路是: 模拟登陆zabbix ---> 找到需要的图像并下载到本地 --->使用python发送邮件 一.在服务器上模拟登陆zabbix,并且将需要的图像下载到本地 #!/usr/bin/env python # -*- coding:utf-8 -*- import HTMLParser imp

Python自动安装第三方类库

Python在使用过程中会用到大量的第三方库,逐一手工去下载.安装比较繁琐.可以配置第三方镜像源并使用pip进行自动安装.这里推荐选择豆瓣的镜像源:http://pypi.douban.com/simple/ Windows下的安装介绍(我的环境是Win7+Python 2.7.12) 1.检查已安装pip.通常安装完python就会自动安装完成.检查方法如下: c:\Python27\Scripts>dir 驱动器 C 中的卷是 系统 卷的序列号是 0000-0A6F c:\Python27\

自动安装zabbix

#!/usr/bin/env python #coding=utf-8 #2015-5-13 #安装zabbix Server import sys import commands import MySQLdb as mdb zabbix_config="/etc/zabbix/zabbix_server.conf" zabbix_php = "/etc/httpd/conf.d/zabbix.conf" def get_local_ip(ifname):     

yum安装zabbix监控

公司的服务器由于没有监控软件监控,最感觉不安全,就开始研究zabbix的安装,最后找到一个最简单的安装方法,在这里记录一下,方便以后的查阅 1.安装zabbix官方的软件配置仓库 rpm -ivh http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm 安装完成之后我们来看一下可用的zabbix安装包信息: yum search zabbix 2.安装zabbix服务器端, mysql

Centos安装zabbix监控

zabbix是一个基于WEB界面的开源网络监控程序.官网:http://www.zabbix.com/.使用系统为CentOS6.2,监控机IP为192.168.1.100,被监控机IP为192.168.1.200.官方wiki:http://www.zabbix.com/wiki/. 一.监控机安装安装PHP Web Server环境及所需软件 这里选择用apache+php+mysql.安装zabbix需要的web server环境软件包: yum install httpd mysql m

Contos7 安装 Zabbix 监控 Mysql

一,zabbix-sercer(步骤)上传 zabbix-release-3.4-2.el7.noarch.rpm 安装 rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm 安装依赖yum -y install zabbix-web-mysl zabbix-server-mysql zabbix-agent mariadb-server 启动mysqlsystemctl restart mariadb 进入mysql 创建zabbix 数据库create d