千家信息网

Logstash中怎么实现一个自动化运维系统

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关Logstash中怎么实现一个自动化运维系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、Nginx日志配
千家信息网最后更新 2026年11月03日Logstash中怎么实现一个自动化运维系统

本篇文章给大家分享的是有关Logstash中怎么实现一个自动化运维系统,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1、Nginx日志配置

编辑 /etc/nginx/nginx.conf 添加以下内容

   log_format json '{"@timestamp":"$time_iso8601",'        '"host":"$host",'        '"scheme":"$scheme",'        '"server_addr":"$server_addr",'        '"client_ip":"$remote_addr",'        '"server_protocol":"$server_protocol",'        '"method":"$request_method",'        '"query_string":"$query_string",'        '"body_bytes_sent":$body_bytes_sent,'        '"bytes_sent":$bytes_sent,'        '"request_length":$request_length,'        '"request_time":$request_time,'        '"upstream_time":"$upstream_response_time",'        '"upstream_host":"$upstream_addr",'        '"upstream_status":"$upstream_status",'        '"server_name":"$server_name",'        '"url":"$uri",'        '"request_url":"$request_uri",'        '"http_x_forwarded_for":"$http_x_forwarded_for",'        '"referer":"$http_referer",'        '"agent":"$http_user_agent",'        '"status":$status}';    access_log  /home/nginx/log/access.log  json;
2.2 rsyslog配置

使用rsyslog推送日志到Logstash,编辑/etc/rsyslog.d/nginx.conf,输入以下内容,完成后记得重启rsyslog服务。

$ModLoad imfile$Modload mmjsonparseaction(type="mmjsonparse")template(name="nginx-json" type="list") {    property(name="$!all-json")}$InputFileName /home/nginx/log/access.log$InputFileTag nginx-access$InputFileStateFile nginx-accessfile$InputFileSeverity info$InputFileFacility local7$InputRunFileMonitor$InputFilePersistStateInterval 1if $syslogtag startswith 'nginx' then @@10.160.209.10:514;nginx-json

3. 服务端配置

3.1 Logstash 配置

新建一个Logstash配置,名称为metric_nginx.conf,内容如下

input {    syslog {        host => "10.160.209.10"        port => "514"        codec => "json"        }}filter {      json {        source => "msg"        }      mutate {        convert => ["request_time",float]        }      mutate {        remove_field => ["msg"]        remove_field => ["@version"]        remove_field => ["port"]        remove_field => ["facility"]        remove_field => ["priority"]        remove_field => ["severity"]        remove_field => ["severity_label"]        remove_field => ["facility_label"]        }    metrics {        meter => "error.%{status}" #按不同的status值建立计数器        add_tag => "metric"        ignore_older_than => 10    }}output {  if "metric" in [tags] {      if [error.504][rate_1m] > 0.0 { # 当达504计数器到达设定的阈值则告警        stdout {            codec => line {            format => "alarm: %{[error.504][rate_1m]}" #模拟告警          }        }      }  }}

之后使用下面的命令启动Logstash服务

 logstash -f metric_nginx.conf

关于上面[rate_1m]计数器的定义请参考:https://www.elastic.co/guide/en/logstash/current/plugins-filters-metrics.html#_literal_meter_literal_values

4. 基于Logstash模型的运维自动化模型

介绍完上面的实例,相信大家可以看到Logstash的作用远不止如此,在熟悉Logstsh这套日志处理流程以后,完全可以实现一套基于日志驱动的自动化运维平台。如下图所示,可以将Mon、OSD等各类服务的日志接入Logtash,通过Logstash处理以后借助不同的output插件,可以选择性进行Alarm告警,或者是触发Ansible playbook操作,亦或是存储到redis、kafka一类的消息中间件从而打通和其他业务系统的数据通道。特别是当你的运维熟悉了Ceph的各种日志异常情况以后,完全可以做到一些线上故障的自动化处理。

以上就是Logstash中怎么实现一个自动化运维系统,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

日志 自动化 配置 服务 系统 内容 计数器 处理 不同 更多 模型 知识 篇文章 面的 实用 业务 中间件 作用 名称 后记 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司华为 科技与互联网 工业互联网科技新基建 上海挚品互联网科技 智网互联网科技 易通互联网络科技有限公司 互联网科技logo 中正互联网科技招聘 成都仁贤领冠互联网科技有限公司 湖南洣水互联网科技有限公司扣款 成都玖崟互联网科技有限公司乐商圈怎么样 以后互联网后是啥科技 南山科技园互联网公司有哪些 东莞新华互联网科技学校 高科技互联网发展前景如何 朱啸虎曾投资哪些互联网科技企业 特约风豹互联网科技为什么扣费 银行科技岗属于互联网吗 吉林省码上互联网科技电话 唯美互联网科技 为想互联网科技怎么样 致骋互联网科技 华中科技大学互联网 郑州华宇互联网科技 成都仁贤领冠互联网科技有限公司 恒生科技互联网指数分析 互联网公司会议桌创意科技软装饰 互联网相关科技技术 福州德业互联网科技 互联网科技手抄报图片
0