You need to enable JavaScript to run this app.
导航

云搜索服务收集syslog日志

最近更新时间2023.02.14 16:57:34

首次发布时间2022.01.11 18:54:32

前言

在本教程中,您将学习如何创建云搜索服务,并收集syslog日志。

关于实验

预计部署时间:40分钟
级别:初级
相关产品:云搜索服务 云服务器
受众: 通用

环境说明
  1. 如果还没有火山引擎账号,点击此链接注册账号

  2. 如果您还没有VPC,请先点击链接创建VPC

  3. 云搜索服务,点击此链接创建

  4. 云服务器ECS:Centos 7

实验步骤

步骤1:创建云搜索服务

  1. 进入到云搜索服务控制台

  2. 点击创建实例,如下图

alt

  1. 从上到下填写实例名称、版本、节点规格、数据盘、节点数量、专用主节点(生产中建议启用),私有网络,配置访问Elasticsearch和登录Kibana的用户名(默认admin)和密码,传输协议如下:
    alt

  2. 实例信息配置完成后,点击下一步确认订单
    alt

  3. 核对完配置之后,便可以提交订单
    alt

6.自动跳转到实例列表界面,并确认最终的运行状态为运行中
alt
alt

步骤2:连接到您的ECS服务器,并安装Logstash(7.10.2)

创建以**.repo**结尾的yum源文件,并移动到/etc/yum.repos.d/文件夹中,文件内容如下:

[root@i-3tmpsu0gq94d2esykd20 yum.repos.d]# cat logstash.repo
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=0
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

[root@i-3tmpsu0gq94d2esykd20 yum.repos.d]# yum -y install logstash-7.10.2

步骤3:配置收集 Syslog的配置文件并启动logstash

1.获取output的云搜索服务的信息
alt
2.下载证书文件并上传的ECS的/etc/logstash/目录下,并命名为es_ca.cer

[root@i-3tmpsu0gq94d2esykd20 logstash]# ll es*
-rw-r--r-- 1 root root 4550 Dec 11 11:32 es_ca.cer

3.在/etc/logstash/conf.d/ 目录下创建名字为 logstash-syslog-ssl.conf 的配置示例文件 ,替换下面的$password的变量改为自己的密码*

input {
  tcp {
    port => 5000
    type => syslog
  }
  udp {
    port => 5000
    type => syslog
  }
}

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

output {
  elasticsearch {
  hosts => "https://100.65.178.108:9200"
  index => "syslog_index"
  user => "admin"
  password => "$password"
  cacert => "/etc/logstash/es_ca.cer"
  ssl_certificate_verification => false
 }
}

[root@i-3tmpsu0gq94d2esykd20 logstash]# /usr/share/logstash/bin/logstash -f conf.d/logstash-syslog-ssl.conf

4.启动 rsyslog 服务

[root@i-3tmpsu0gq94d2esykd20 logstash]# systemctl start rsyslog

步骤4: 配置rsyslog的配置文件,并重启rsyslog服务

在/etc/rsyslog.conf中添加如下配置

## 发送日志,@表示传输协议(@表示udp,@@表示tcp),后面是ip和端口。
[root@i-3tmpsu0gq94d2esykd20 logstash]# cat /etc/rsyslog.conf | grep 5000
*.* @@ localhost:5000

[root@i-3tmpsu0gq94d2esykd20 logstash]# systemctl restart rsyslog

步骤5:登录kibana查看是否有数据收集

1.开启Kibana公网访问
alt
2.浏览器输入地址访问,输入用户名和密码
alt
3.左侧栏找到Index Management管理
alt
4.查看确认呢syslog_index已经存在
alt
5.查看收集的索引具体信息
alt
6.如果没有图形化工具,也可以用命令行在es中查询,替换下面命令的password变量

[root@i-3tmpsu0gq94d2esykd20 logstash]# curl --user admin:"$password" -k https://100.65.178.108:9200/_cat/indices?v
health status index                uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   syslog_index         hcFw0-UTRtaiYLekDfyk_g   1   1         98            0    151.6kb        125.5kb
green  open   .kibana_1            _fpPY3vVQgK9yd6D041fOw   1   1         24           12      141kb         79.2kb
green  open   .opendistro_security zzfrLSJLQs2Jv1Km2sCNGg   1   2          9            0    105.3kb         51.9kb

步骤6:释放实例

alt