华为云LTS日志服务每个月有免费的500MB额度,如果你得Nginx流量较小,完全够使用。
下面以华为轻量云服务器为例接入LTS
详细使用教程可以查阅华为云官网LTS用户指南
以下仅为我个人接入记录,备忘。如想快速接入Nginx日志被采集到LTS,可以参考以下文档。
1、注册并实名认证华为云,点我跳往注册。
2、获取AK SK,下载下来先保存


3、打开LTS控制台,先在配置中心关闭超额继续采集日志,然后找到主机组,点击右上角安装ICAgent按官网步骤安装ICAgent。

我这里的云服务在西南-贵阳一区域,先选择这个区域。

使用SSH连接服务器进行ICAgen安装,安装完成后,控制台可以看到ICAgent的运行状态为运行即可。

4、SSH服务器进行nginx日志格式配置,将日志格式配置成json格式。
字段说明
编辑配置文件
sudo vim /etc/nginx/nginx.conf#配置如下
http {
log_format json_format escape=json
'{'
'"remote_addr": "$remote_addr",'
'"remote_user": "$remote_user",'
'"time_local": "$time_local",'
'"request": "$request",'
'"http_host": "$http_host",'
'"status": "$status",'
'"upstream_status": "$upstream_status",'
'"body_bytes_sent": "$body_bytes_sent",'
'"http_referer": "$http_referer",'
'"http_user_agent": "$http_user_agent",'
'"ssl_protocol": "$ssl_protocol",'
'"ssl_cipher": "$ssl_cipher",'
'"upstream_addr": "$upstream_addr",'
'"request_time": "$request_time",'
'"upstream_response_time": "$upstream_response_time"'
'}';
server {
# 其他服务器配置...
access_log /var/log/nginx/access.log json_format;
error_log /var/log/nginx/error.log;
}
}重载配置
nginx -s reload5、再次回到华为云LTS控制台进行日志接入


1、2都可以根据提示来填入。日志组、日志流名称可以自定义

这里主要讲一下第3步 采集配置的设置


这里主要讲一下第4步 索引配置的设置。打开全文索引,然后自动配置字段,总字段24个。提交配置

6、查看采集到的Nginx日志
在LTS控制台,日志管理,找到刚刚配置的日志流,添进去就可以看到已经采集到nginx日志了


7、日志可视化
控制台,点击仪表盘,添加仪表盘。

添加仪表盘分组

添加仪表盘

使用已有模版添加仪表盘

找到Nginx仪表盘模版,选择Nginx访问中心模版。

然后选择刚刚创建的日志流后,点击确定完成仪表盘的添加。

其他2个仪表盘如果需要也可以参照上面步骤自行添加。
8、查看仪表盘


最后图表展示的具体含义可以后续自行去摸索研究。
9、日志告警
配置路径:LTS控制台-日志告警-告警规则-创建告警规则。主要需要了解搜索分析的语句如何写,告警对接SMN通知,支持电话、短信、飞书等通知。以下是我配置的一个告警规则。


以下为触发的告警

10、附:增加SSH安全性
方法一:配置SSH不允许密码登录,只能通过秘钥认证登录。
方法二:在云服务器对应的安全组中,添加ip地址组,限定只允许特定的IP连接服务器SSH
方法三:使用防暴力破解工具Fail2ban
以上3个方法可以同时使用,目前我的服务器使用了方法一和方法二,同时还配置了ssh日志告警,ssh连接失败告警只发飞书通知,ssh连接成功电话通知我(有个缺点就是,自己ssh登录成功也会收到电话通知,总比没有的好,防范以未然嘛。)