mirror of
https://github.com/Colin-XKL/Colinx-Blog.git
synced 2026-01-12 02:31:27 +08:00
chore: lint text and auto correct
This commit is contained in:
committed by
GitHub
parent
5ea07ab91a
commit
69e98a0a09
@@ -2,7 +2,7 @@
|
|||||||
title: 来谈谈日志集中管理方案 - syslog 是你的好伙伴.md
|
title: 来谈谈日志集中管理方案 - syslog 是你的好伙伴.md
|
||||||
date: 2024-10-13
|
date: 2024-10-13
|
||||||
lastmod: 2024-10-13
|
lastmod: 2024-10-13
|
||||||
description: 身为一个数码宅, 家里总是会有越来越多的数码设备, 智能化的设备多起来, 总是难免会遇到各种各样的问题, 排查问题的时候日志就很重要了, 对于一些偶发的 case, 比如偶发网络卡顿, 能够看到足够完整清晰的日志, 就很方便了.
|
description: 身为一个数码宅,家里总是会有越来越多的数码设备,智能化的设备多起来,总是难免会遇到各种各样的问题,排查问题的时候日志就很重要了,对于一些偶发的 case, 比如偶发网络卡顿,能够看到足够完整清晰的日志,就很方便了。
|
||||||
categories:
|
categories:
|
||||||
- 技术
|
- 技术
|
||||||
tags:
|
tags:
|
||||||
@@ -13,27 +13,27 @@ tags:
|
|||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
身为一个数码宅, 家里总是会有越来越多的数码设备, 智能化的设备多起来, 总是难免会遇到各种各样的问题, 排查问题的时候日志就很重要了, 对于一些偶发的 case, 比如偶发网络卡顿, 能够看到足够完整清晰的日志, 就很方便了.
|
身为一个数码宅,家里总是会有越来越多的数码设备,智能化的设备多起来,总是难免会遇到各种各样的问题,排查问题的时候日志就很重要了,对于一些偶发的 case, 比如偶发网络卡顿,能够看到足够完整清晰的日志,就很方便了。
|
||||||
|
|
||||||
对于一些低功耗设备, 比如路由器, 其磁盘资源很紧张, 日志通常不会保存很久. 这个时候要排查一些偶发的持续时间长的小 bug 就很头痛了. 好在 openwrt 原生就支持将日志通过 syslog 协议发送到远程服务器. 不过看了一圈, 发送是发送过去了, 但是看日志还得命令行一个个看, 要想有个方便的地方看的话就得上 ELK 那一套非常繁琐且吃资源的那一套, 我的需求是这样的:
|
对于一些低功耗设备,比如路由器,其磁盘资源很紧张,日志通常不会保存很久。这个时候要排查一些偶发的持续时间长的小 bug 就很头痛了。好在 openwrt 原生就支持将日志通过 syslog 协议发送到远程服务器。不过看了一圈,发送是发送过去了,但是看日志还得命令行一个个看,要想有个方便的地方看的话就得上 ELK 那一套非常繁琐且吃资源的那一套,我的需求是这样的:
|
||||||
|
|
||||||
- 免费,可以持续使用
|
- 免费,可以持续使用
|
||||||
- 能够通过 syslog 协议收集日志
|
- 能够通过 syslog 协议收集日志
|
||||||
- 能够自部署最佳, 但是不希望是 ELK 那种繁琐且非常消耗资源的
|
- 能够自部署最佳,但是不希望是 ELK 那种繁琐且非常消耗资源的
|
||||||
- 有个 web 界面能方便的查找日志
|
- 有个 web 界面能方便的查找日志
|
||||||
- 能够配置监控, 那样的话如果设备有 fatal 日志我可以立即知道
|
- 能够配置监控,那样的话如果设备有 fatal 日志我可以立即知道
|
||||||
|
|
||||||
搜寻了一番, 发现有个 datalust 公司出的 seq 看起来挺不错, 在自己服务器上部署了一套, 完美符合我的需求, 分享一下.
|
搜寻了一番,发现有个 datalust 公司出的 seq 看起来挺不错,在自己服务器上部署了一套,完美符合我的需求,分享一下。
|
||||||
|
|
||||||
seq 不仅支持 syslog, 还支持程序主动上报、采集容器日志等很多功能, 这里只主要围绕 syslog, 收集各种终端设备日志做介绍
|
seq 不仅支持 syslog, 还支持程序主动上报、采集容器日志等很多功能,这里只主要围绕 syslog, 收集各种终端设备日志做介绍
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 安装: 通过 docker compose 部署 seq
|
## 安装:通过 docker compose 部署 seq
|
||||||
|
|
||||||
首先生成下默认密码, 这里需要通过程序自身的指令生成明文密码对应的密文才行. 比如我这里指定初始密码的明文为`initP@ss`, 运行这个指令, 就会输出对应的密文, 这个待会部署的时候需要使用
|
首先生成下默认密码,这里需要通过程序自身的指令生成明文密码对应的密文才行。比如我这里指定初始密码的明文为`initP@ss`, 运行这个指令,就会输出对应的密文,这个待会部署的时候需要使用
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
➜ echo 'initP@ss' | sudo docker run --rm -i datalust/seq config hash
|
➜ echo 'initP@ss' | sudo docker run --rm -i datalust/seq config hash
|
||||||
@@ -42,7 +42,7 @@ seq 不仅支持 syslog, 还支持程序主动上报、采集容器日志等很
|
|||||||
QE6k2bZLWkh7BwWYRNsG3h9sZPcLskSLKJGii4mvU0rsDyN0/UqW1TwEZp43O09wvOCjbOgswZxHX7FeNo05cfiv3KkB8/q/Msj8nlXL4TGd
|
QE6k2bZLWkh7BwWYRNsG3h9sZPcLskSLKJGii4mvU0rsDyN0/UqW1TwEZp43O09wvOCjbOgswZxHX7FeNo05cfiv3KkB8/q/Msj8nlXL4TGd
|
||||||
```
|
```
|
||||||
|
|
||||||
之后通过 docker compose 进行部署, 下面为 compose 文件示例
|
之后通过 docker compose 进行部署,下面为 compose 文件示例
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
@@ -52,9 +52,9 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- seq
|
- seq
|
||||||
ports:
|
ports:
|
||||||
- "20014:514/udp" # 接收 syslog 协议请求的端口, 这里配置的是20014, 可以自定义, 后面需要用到
|
- "20014:514/udp" # 接收 syslog 协议请求的端口,这里配置的是 20014, 可以自定义,后面需要用到
|
||||||
environment:
|
environment:
|
||||||
SEQ_ADDRESS: "http://seq:5341" # 要转发到主程序进行处理, 端口为默认的5341, 不用改
|
SEQ_ADDRESS: "http://seq:5341" # 要转发到主程序进行处理,端口为默认的 5341, 不用改
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
seq:
|
seq:
|
||||||
@@ -70,21 +70,21 @@ services:
|
|||||||
- /data/seq-data:/data
|
- /data/seq-data:/data
|
||||||
```
|
```
|
||||||
|
|
||||||
之后执行 sudo docker compose up -d , 顺利的话, 在配置的 web ui 端口, 就可以看到管理台了. 默认账户为 admin, 密码为刚才设置的密码的原始明文.
|
之后执行 sudo docker compose up -d , 顺利的话,在配置的 web ui 端口,就可以看到管理台了。默认账户为 admin, 密码为刚才设置的密码的原始明文。
|
||||||
|
|
||||||
## 使用: syslog 配置
|
## 使用:syslog 配置
|
||||||
|
|
||||||
基本上所有 Linux-base 系统都支持将系统日志通过 syslog 协议发送到远端服务器. 我手头主要的 openwrt 路由器、运行 truenas 系统的 nas、树莓派上跑的 debian, 以及其他 linux 云服务器都可以无缝接入, 这里简单介绍下
|
基本上所有 Linux-base 系统都支持将系统日志通过 syslog 协议发送到远端服务器。我手头主要的 openwrt 路由器、运行 truenas 系统的 nas、树莓派上跑的 debian, 以及其他 linux 云服务器都可以无缝接入,这里简单介绍下
|
||||||
|
|
||||||
### openwrt 配置远程 log
|
### openwrt 配置远程 log
|
||||||
|
|
||||||
在 system -> system 菜单下, 有个 logging 的 tab, 里面配置好服务器 ip、端口就可以使用了. 协议记得选 udp
|
在 system -> system 菜单下,有个 logging 的 tab, 里面配置好服务器 ip、端口就可以使用了。协议记得选 udp
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### truenas 配置远程 log
|
### truenas 配置远程 log
|
||||||
|
|
||||||
在 system setting -> advaned -> syslog 菜单下, 配置远程服务器地址和端口, 协议选择 udp, 保存就可以了
|
在 system setting -> advaned -> syslog 菜单下,配置远程服务器地址和端口,协议选择 udp, 保存就可以了
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -117,8 +117,8 @@ sudo nano /etc/rsyslog.conf
|
|||||||
*.* @@remote-server-ip:514 # 使用 TCP
|
*.* @@remote-server-ip:514 # 使用 TCP
|
||||||
```
|
```
|
||||||
|
|
||||||
这里我们需要使用 udp 协议的.
|
这里我们需要使用 udp 协议的。
|
||||||
将 remote-server-ip 替换为远程 Syslog 服务器的实际 IP 地址或者域名, 保存并关闭文件。
|
将 remote-server-ip 替换为远程 Syslog 服务器的实际 IP 地址或者域名,保存并关闭文件。
|
||||||
|
|
||||||
比如
|
比如
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ sudo systemctl restart rsyslog
|
|||||||
|
|
||||||
### 配置日志定期清理
|
### 配置日志定期清理
|
||||||
|
|
||||||
默认情况下, 是没有配置日志清理规则的, 时间一长服务器硬盘可能直接满了, 所以这里一定不要忘记配置自动清理. 在菜单里的 retention 可以配置过多少天删除
|
默认情况下,是没有配置日志清理规则的,时间一长服务器硬盘可能直接满了,所以这里一定不要忘记配置自动清理。在菜单里的 retention 可以配置过多少天删除
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ sudo systemctl restart rsyslog
|
|||||||
|
|
||||||
### 配置告警通知
|
### 配置告警通知
|
||||||
|
|
||||||
各种通知渠道的支持是通过插件形式提供的, 在 设置里可以自行安装. 可以支持 email、http webhook, 钉钉机器人、telegram 机器人等多种渠道.
|
各种通知渠道的支持是通过插件形式提供的,在 设置里可以自行安装。可以支持 email、http webhook, 钉钉机器人、telegram 机器人等多种渠道。
|
||||||
|
|
||||||
[插件市场链接](https://www.nuget.org/packages?q=Tags%3A%22seq-app%22)
|
[插件市场链接](https://www.nuget.org/packages?q=Tags%3A%22seq-app%22)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user