- 博客(191)
- 收藏
- 关注
原创 prometheus+grafana监控nginx的简单实现
解压缩,并将v0.2.1.tar.gz解压后的文件夹nginx-module-vts-0.2.1拷入nginx的源码包,和configure同一层级,编译的时候会用到(--add-module=nginx-module-vts-0.2.1 )编译过程可能报错,需要安装一些包:yum -y install openssl openssl-devel。配置nginx.conf,并启动nginx。nginx-module-vts下载。下载并导入Dashboards。
2024-02-25 16:45:41 1389
原创 ZABBIX根据IP列表,主机描述,或IP子网批量创建主机的维护任务
无论哪种方式(IP列表,主机描述,或IP子网)创建维护,都是向maintenance.create这个方法传递参数的过程,除了起始和终止的时间,最主要的一个参数就是hostids这个参数,它是一个列表(也可以是单个hostid)有时候被ZABBIX监控的主机可能需要关机重启等维护操作,为了在此期间不触发告警,需要创建主机的维护任务,以免出现误告警。跑起来大约是这个界面,用户填写主机IP列表,或匹配的描述,或子网的信息,选好时间,点个按钮就能实现批量的维护任务。HTML的简单写法,不太会写,很潦草。
2024-01-16 22:22:32 697
原创 PYTHON通过跳板机巡检CENTOS的简单实现
脚本将返回包含CPU,内存,磁盘信息的字典,因为不同主机的磁盘分区名称和数量的不一致性,带有磁盘信息的这个KEY的值,将是一个LIST。这个脚本接受一个参数,IP地址,django一端的服务器将通过SSH连接,并将参数传递给脚本执行。用户点击不同的按钮选择是打印到WEB页面,还是打印到WEB页面+下载巡检报告的EXCEL表格。resc.py这个脚本中有引用的文件和以前的记录一样,不再重复列出。差别在于,这次是通过跳板机登陆获取的主机信息,只记录差异的部份。实现的细节和引用的文件和以前博客记录的基本一致。
2024-01-10 22:50:07 590
原创 zabbix自动发现linux系统挂载的nas盘,并实现读写故障的监控告警
ZABBI安装路径可执行文件及配置文件根据实际部署的路径更改。并根据实际的需求启用/禁用触发器。
2023-09-03 21:51:01 1263
原创 django利用跳板机登陆各地的机器对不同的站点执行curl下载的网络测试
实现读取DJANGO机器传送的各地测试机器的IP列表文件/tmp/iplistschk.json,下载URL的列表文件/tmp/cmdlistschk.json,并接受循环次数作为脚本执行的参数。通过DJANGO的WEB界面,输入不同的源IP,目的URL,循环的次数等生成JSON文件和参数传递给后台的跳板机,再由跳板机对各地的机器执行远程命令CURL测试,来获取网络下载的结果作为输出.此方法接受WEB输入的IP列表,URL列表,循环次数等参数,并传递至跳板机执行,返回LIST至WEB端。
2023-06-13 22:20:22 154
原创 DJANGO查询ZABBIX6长时间的监控队列
2.拿到队列信息后比对ZABBIX后台数据库,获取监控项的信息,并根据队列的nextcheck信息进筛选和数据重组,此时将监控队列的监控项,PROXY,AGENT,nextcheck关联起来。views.py调用了imports.getqueuelists()方法,这个方法调用了前面的chkzbqueue类来获取LIST返回给views.py里面的方法。1.登陆ZABBIX,获取KEY,再用这个KEY通过远程命令使用zabbix_get的方式拿到队列。django项目views.py处理请求的方法。
2023-06-11 22:36:15 969
原创 PYTHON将带字典的LIST输出到EXCEL的简单实现
LIST是字典列表,每一个字典都KEY的名称和数量相同,只要EXCEL能写入,支持任意个数的KEY。
2023-06-10 11:57:04 1515
原创 django利用自带的认证模块配置用户登陆认证
django3以上的版本写法略有不同 patch('accounts/login/',auth_views.LoginViews.asview()),#测试django3 使用这种 from django.contrib.auth import views as auth_views。LOGIN_REDIRECT_URL = '/django' #指登陆后跳转的页面。url(r'^accounts/login/$', login), #此处加一行。环境django2或者3。
2023-04-02 22:47:14 278
原创 PYTHON访问ZABBIX的API批量对端口进行监控并创建触发器
IP+端口作为监控的对象,对多台服务器的多个端口批量增加监控项,并配置对应的触发器。把IP和端口写在同目录的ipports.txt,用逗号分隔执行即可。
2022-09-03 14:05:12 822
原创 PYTHON使用f5.bigip模块导出F5的VS,POOL和NODE的对应关系并打印到EXCEL的简单实现
环境PYTHON3,F5 BIG-IP16.1.21实现如下:import xlsxwriterimport timefrom f5.bigip import ManagementRootmgmt = ManagementRoot("192.168.1.1", "admin", "yourpassword")# vss=mgmt.tm.ltm.virtuals.get_collection()# for vs1 in vss:# #print (dir(vs1))#
2022-05-16 23:41:58 1009 1
原创 PYTHON调用ZABBIX的API导出监控历史数据的简单实现
#!/usr/local/bin/python# coding:utf-8import jsonimport urllib2from urllib2 import URLErrorimport sysimport xlrdimport getpassimport timeimport datetimeimport xlsxwriterreload(sys)sys.setdefaultencoding('utf-8')# History object types to re.
2022-03-12 14:24:21 2819
原创 PYTHON调用ZABBIX的API创建主机的维护任务和标签
环境:PYTHON 2.7import jsonimport urllib2from urllib2 import URLErrorimport sysimport timeimport datetimereload(sys)sys.setdefaultencoding('utf-8')class ZabbixTools: def __init__(self): self.url = 'http://192.168.243.99//zabbix/api_js.
2022-01-15 18:28:25 685
原创 grafana 仪板表配置变量按照多级复选框的选项展示ZABBIX的监控数据
Grafana v7.3.6Zabbix 4.0.27数据源这些已经配置完成1.随手新建一个仪表板,实际使用可以套用模板,再建一个面板,保存2.配置仪板表,定义变量这个变量的层级关系实际上是ZABBIX数据源已经定义好的,主机组--主机--应用程序集--监控项不用干预,按照这个层级套用变量就行了变量的层级关系groups * hosts $groups.* applications $group...
2021-09-17 23:24:31 993
原创 LINUX 下使用脚本自动安装ORACLE12C数据库的简单实现
OS:Red Hat Enterprise Linux Server release 7.6DB:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0关闭防火墙,SELINUX这是root执行的脚本[root@r100 tmp]# cat 1.sh#!/bin/bashyum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33..
2021-07-17 00:19:01 667 4
原创 PYTHON连接VCENTER获取虚拟机的快照信息并打印到EXCEL的简单实现
# -*- coding: utf-8 -*-import atexitimport argparseimport sysimport timeimport sslfrom pyVmomi import vim, vmodlfrom pyVim.task import WaitForTaskfrom pyVim import connectfrom pyVim.connect import Disconnect, SmartConnect, GetSiimport datetime.
2021-07-11 17:57:25 968
原创 Weblogic新增域的简单步骤
前提:WEBLOGIC已经安装在LINUX的服务器上面1.修改或编辑basicWLSDomain.py,这个文件安装weblogic后生成cat basicWLSDomain.py | grep -v ^#readTemplate("/beainstalldir/bea12c/wlserver/common/templates/wls/wls.jar")cd('Servers/AdminServer')set('ListenAddress','')set('ListenPort',.
2021-05-20 23:03:37 1003
原创 DAG环境下将EXCHANGE 2016 CU2升级至CU19操作步骤
EXCHANGE 2016 CU19官网有得下载,我升级的这个是英文版的https://download.microsoft.com/download/a/8/4/a84c8458-c924-4e6d-a19b-be65848c0fe3/ExchangeServer2016-x64-CU19.ISO在DAG的第一台机器执行:1. 将 HubTransport 的队列重定向到另一台服务器上Set-ServerComponentState -Identity "DAGEX1" -Componen
2021-03-28 16:31:58 1663 1
原创 MSSQLSERVER 2019修改数据库文件存放路径的简单实现
一、环境:数据库版本:15.0.2000.5 OS:Windows Server 2016 Standard (10.0)二、登陆MASTER数据库,查询准备迁移的数据库的信息select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files where database_id=db_id(N'testdb');三、修改至目标路径,注意数据和日志文件的名...
2021-03-20 17:26:48 3499 1
原创 python调用rundeck的webhook并向作业传递参数的简单实现
python脚本如下:# -*- coding: utf-8 -*-import jsonimport requestscontent = '{"field1":"","field2":"","field3":""}' #准备传递给rundeck作业的参数payload = json.loads(content)payload["field1"] = "192.168.8.8" #参数1 payload["fiel
2021-02-12 13:11:40 796 2
原创 windows server 2012 批量执行BAT安装脚本的简单实现
本次脚本测测试安装ZABBIX将执行的脚本和安装文件等全部拷贝到管理机器的如下路径:C:\tmps\Zabbix_Agent
2021-01-24 21:21:54 1488 3
原创 ZABBIX根据时间的误差配置告警
ZABBIX客户端系统为LINUX修改ZABBIX监控模板 Template OS Linux确保该监控项已被启用,默认是启用的新增触发器,触发告警定义好触发器的名称,告警的级别,秒差(指ZABBIX的系统时钟比较),选好键值,fuzzytime(30)手工输入,和ZABBIX的系统时钟相差30秒即触发告警...
2020-12-05 13:52:10 1019
原创 PYTHON连接VCENTER自动创建和删除虚拟机快照的简单实现
环境:PYTHON版本和用到的模块实现代码:import atexitimport argparseimport sysimport timeimport sslfrom pyVmomi import vim, vmodlfrom pyVim.task import WaitForTaskfrom pyVim import connectfrom pyVim.connect import Disconnect, SmartConnect, GetSiimport .
2020-11-23 19:16:12 2220 1
原创 rundeck 的访问控制和密码加密
[root@shaka rundeck]# cat /etc/rundeck/p1.aclpolicydescription: user.context: project: 'p1'for: resource: - equals: kind: job allow: [run,kill] # allow read/create all kinds - equals: kind: node allow: [...
2020-10-21 19:01:48 608
原创 ansible tower使用ansible-playbook执行主机管理任务的简单实现
建立一个主机清单,把要管理的主机加入清单,加入组也方便后续的多台机器分组执行任务添加登陆的凭证,登陆服务器可用密码密钥这些,我用的是密钥,已经对需要登陆的机器做好了认证,粘贴上去之后会自动加密添加PROJECTS,须得在标准的目录结构下有相应的目录,并且授权awx用户,将来使用的ansible-playbook的.yml文件就是拷进这个目录让ansible tower进行选择和处理,实验中的这个项目实际上是将剧本拷贝至/var/lib/awx/projects/devmu1/..
2020-08-25 18:38:34 1250 1
原创 在WEB端通过ansible-playbook+rundeck向服务器推送密钥的简单实现
ansible-playbook剧本如下cat pushssh.yml---- hosts: "{{ dsthosts }}" user: root tasks: - name: copysshid authorized_key: user=root key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"rundeck任务如下<joblist> <job> <context...
2020-08-25 08:43:47 334
原创 使用GRAFANA展示ZABBIX的数据
ZABBIX已经正常部署下载grafana:https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm下载grafana的zabbix插件:https://codeload.github.com/alexanderzobnin/grafana-zabbix-app/zip/master安装grafana及zabbix插件[root@V71 shared]# rpm -ivh grafana-5.4.2-1.x86_64.rpm
2020-07-31 21:05:00 1745 1
原创 ZABBIX监控WINDOWS活动目录DNS服务的简单实现
为了检查活动目录域控的DNS服务是否正常,可以在ZABBIX监控的任意一个客户端指定从DNS服务器解析AD的域名或A记录,根据是否正常解析判断DNS服务的一个状态直接为这台任意的客户端指定监控项再到这台机器建立触发器此时关闭域控的DNS服务,ZABBIX产生告警...
2020-07-28 20:29:12 868
原创 ZABBIX配置通过WINDOWS的AD活动目录进行LDAP登录认证
环境:Zabbix 4.0.16检查是否符合PHP是否安装LDAP模块已经搭建好了WINDOWS活动目录活动目录的用户在ZABBIX上面添加同名的帐号进行绑定,在ZABBIX为绑定帐号设定的密码只和默认的认证方式相关,和LDAP认证方式无关设置LDAP认证,注意标记的细节点击测试通过认证的话再点击更新再修改认证方式此时退出再登陆,用原来的帐号密码已经不能登陆了要想登陆ZABBIX,AD活动目录的帐号名称和ZABBIX帐号名称必须一致..
2020-07-16 21:48:08 872
原创 ZABBIX自定义监控指定的LINUX磁盘分区,并配置触发器产生告警
在ZABBIX客户端机器当中,有一台是挂载了WINDOWS分区的,设置该分区空闲的空间小于15%的时候触发告警服务器端先新增配置该机器的监控项,再新增触发器引用这个监控项即可添加键值的时候,点击选择,填入/shared,pfree这两个参数,一个是分区,另一个是指百分比,如果填free,则返回空闲空间的字节数添加触发器仪表板上面产生有对应的告警信息...
2020-07-16 12:21:31 2900
原创 巡检WINDOWS服务器CPU,内存和磁盘多个分区的PYTHON脚本
接上一次实验的内容,输出相同格式的EXCEL巡检表格https://blog.csdn.net/lsysafe/article/details/106927633这次巡检的服务器平台为WINDOWS的机器,从网络调用WMIC接口获取服务器的信息,代码如下:# -*- coding: utf-8 -*-import wmiimport sysreload(sys)import xlsxwritersys.setdefaultencoding('utf-8')import time
2020-07-01 22:34:15 1924 1
原创 巡检CENTOS服务器CPU,内存和磁盘多个分区的PYTHON脚本
这个脚本和前面写的过巡检脚本相似,https://shaka.blog.csdn.net/article/details/86533037一、在这个基础上支持对多个磁盘分区的检查,python代码如下# -*- coding: utf-8 -*-import os,sys#sys.setdefaultencoding('utf8')import paramikoimport xlsxwriterimport timeimport sysreload(sys)sys.setdefau
2020-06-24 19:39:35 1099
原创 shell比较两个文本从其中一个文本删除另一个文本已有的行
notauth.txt 文本有多个IP,一个一行2.txt文本也有多个IP,一个一行现在将notauth.txt文本里面包含有2.txt文本内容的从notauth.txt文本里面删除#!/bin/bashcp notauth.txt notauth.txt`date +%y%d%m%H%M%S` #修改前先备份a=`cat 2.txt` for hosts in $a
2020-06-11 22:59:47 800
原创 使用Flume采集系统日志并写入hdfs文件系统
前面已经配置好了hadoop的简单环境和hdfs分布式文件系统https://blog.csdn.net/lsysafe/article/details/105250714下载Flumehttp://archive.apache.org/dist/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz安装就是解压并配置JAVA_HOME即可[root@m1 hadoop]# tar -zxvf /shared/app/install/tar.gz/apache
2020-05-21 21:12:45 1448
原创 python使用selenium模块调用火狐浏览器实现对web页面信息的定时检查
这个功能主要是为了不用手动打开页面检查告警信息,定时检查有问题就弹出告警# -*- coding: utf-8 -*-from selenium import webdriver#import timefrom selenium.webdriver.firefox.options import Optionsimport ctypesdef message_box(title, msg): ctypes.windll.user32.MessageBoxW(0, msg, ti.
2020-05-19 09:01:22 1048
原创 ZABBIX添加自定义监控项监控指定的进程并配置触发器实现告警的功能
一、客户端的设置修改本次实验中的配置文件/usr/local/zabbix-agent/etc/zabbix_agentd.conf,添加:UnsafeUserParameters=1UserParameter=checkpsef[*],/usr/bin/bash /usr/bin/psef.sh $1 $2自定义取键值的 /usr/bin/psef.sh脚本,很简单,就是通过...
2020-05-08 22:29:49 691
原创 ZABBIX宏的定义和简单的使用
ZABBIX当中宏就是一个定义的变量,提供给触发器等调用宏一般有全局的,模板的,主机级别的,相同名称的宏变量匹配精度越高优先级也越高,主机级别高于模板和全局,模板之间最后一个模板最高一、定义全局宏定义一个全局的宏,值就是500M二、新建一个触发器,并调用这个宏在主机级别定义一个触发器,使用这个宏变量,当可用内存小于这个宏变量的时候,触发灾难级别的告警...
2020-05-07 22:28:55 3826
原创 MYSQL使用存储过程和游标向数据表批量添加指定的数据
MYSQL数据库版本:5.7.23第一个存储过程表tb_a记录app和应用的对应关系,有三个字段,id为自动生成,app_id为应用id,server_id为服务器id添加了服务器以后,新的服务器和app的对应关系,和已有的某些旧服务器一致,此时可通过存储过程批量添加新机器和app的对应关系向tb_a表写入数据,有两列数据写入,id自动生成,数据里面的server_id列为新的服务...
2020-04-21 22:31:44 25130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人