【py脚本+logstash+es实现自动化检测工具】

概述

有时候,我们会遇到需要查看服务器的网络连接或者内存或者其他指标是否有超时,但是每次需要登录到服务器查看会很不方便,所以我们可以设置一个自动脚本化工具自动帮助我们查看,下面我做了一个demo在windows上面。

一、py脚本

py 复制代码
import subprocess
import socket

print("hello world")


def execute_wmic_command():
    command = "wmic MemoryChip get Capacity,DeviceLocator"
    result = subprocess.run(command, shell=True, capture_output=True, text=True)
    output_lines = result.stdout.strip().split('\n')[1:]  # 去掉标题行
    data_list = [line.strip().split() for line in output_lines if line.strip()]
    return data_list

# 连接到Logstash并发送数据
def send_to_logstash(data):
    host = 'localhost'  # Logstash所在主机地址,如果在本地就是'localhost',按需修改
    port = 5000  # Logstash监听的端口,根据实际配置修改
    try:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.connect((host, port))
            for item in data:
                if len(item) == 2:
                    capacity = item[0]
                    device_locator = item[1]
                    message = f'{{"capacity": "{capacity}", "deviceLocator": "{device_locator}"}}\n'
                    s.send(message.encode('utf-8'))
    except socket.error as e:
        print(f"Socket error: {e}")
    except Exception as ex:
        print(f"Other error: {ex}")


if __name__ == "__main__":
    wmic_data = execute_wmic_command()
    send_to_logstash(wmic_data)
    print(wmic_data)

py的版本最好在3.9.0以上。

执行python脚本的命令

py 复制代码
python   xxx.py

python3  xxx.py 

(2)logstash

在logstash中的config创建一个conf文件并写上自己的配置

复制代码
input {
  tcp {
    port => 5000  # 对应Python脚本中连接的端口
    codec => json_lines  # 因为Python脚本发送的是JSON格式每行一条记录的数据,所以用json_lines编解码器解析
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "memory_chip_info"
  }
}

logstash启动

cd D:\software\logstash-7.6.2\bin

logstash -f D:\software\logstash-7.6.2\config\myconfig.conf

(3)es

es启动直接双击

D:\es\elasticsearch-7.6.2-windows-x86_64\elasticsearch-7.6.2\bin 的bat文件即可。

当然如果想连接到springboot或者其他工具都是可以的。

相关推荐
D2aZXN3FhrDa7e2121 小时前
佛山乐从低预算实体店如何选择?看美诚AI自动化获客方案
运维·人工智能·自动化·佛山美诚科技有限公司
yurenshi16682 小时前
自媒体多账号管理工具 4 款实测:聚媒通 / 融媒宝 / 新榜小豆芽 / 矩阵通横向对比,快速选型
大数据·矩阵·媒体
nVisual3 小时前
机柜PDU安装位置与空间建模方案
大数据·网络·数据库·信息可视化·数据中心基础设施管理
@insist1233 小时前
系统规划与管理师-流程评价与持续改进核心知识-终章
大数据·人工智能·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
蓝创工坊Blue Foundry3 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
TechEdu2026064 小时前
[计算机科学]大数据硬件架构与软件架构概览
大数据·计算机科学
爱莉希雅&&&4 小时前
elasticsearch+kibana+logstash+filebeat链路部署流程
大数据·elasticsearch·搜索引擎·kibana·logstash·filebeat
见合八方4 小时前
【噪声系数】高偏SOA噪声系数测试方法
网络·自动化·soa·光通信·激光雷达·半导体光放大器
FII工业富联科技服务4 小时前
从灯塔工厂到AI Factory新模式:AI正在重构制造业的四大核心能力
大数据·运维·人工智能·重构·ar·制造
小五传输4 小时前
自主可控建设指南:Serv-u替代方案,实现平滑迁移业务不中断
大数据·运维·安全