如何从Azure Ubuntu VM收集SSH登录/登出日志并推送至Log Analytics工作区
将Ubuntu 18.04的SSH登录/登出日志推送至Log Analytics工作区
前提确认
- 虚拟机已成功连接目标Log Analytics工作区
- 拥有虚拟机的sudo操作权限
步骤1:明确SSH日志存储位置
Ubuntu 18.04中,SSH相关的登录、登出及认证日志默认统一存放在:/var/log/auth.log
步骤2:配置Log Analytics Agent收集指定日志
Log Analytics Agent通过配置文件定义需要收集的日志源,操作如下:
- 打开Agent的syslog配置文件(替换
<工作区ID>为你的实际工作区ID):
sudo nano /etc/opt/microsoft/omsagent/<工作区ID>/conf/omsagent.d/syslog.conf
- 在配置文件中添加或确认以下内容,确保
auth.log被纳入收集范围:
<source> type tail path /var/log/auth.log pos_file /var/opt/microsoft/omsagent/<工作区ID>/state/auth.log.pos tag oms.syslog.auth format syslog </source> <filter oms.syslog.auth> type filter_syslog </filter>
- 保存配置后重启Agent生效:
sudo service omsagent restart
步骤3:验证日志推送状态
- 等待5-10分钟,让Agent完成首次日志同步
- 登录Azure门户进入目标Log Analytics工作区,在日志页面执行以下Kusto查询:
Syslog | where Facility in ("auth", "authpriv") and ProcessName == "sshd" | project TimeGenerated, Computer, Message | sort by TimeGenerated desc
若查询结果中出现SSH登录/登出相关条目,说明配置成功
可选:精准筛选SSH关键事件
如果只需要提取登录成功、登出的核心日志,可使用以下查询:
Syslog | where Facility == "authpriv" | where Message has_any ("Accepted publickey", "session opened", "session closed") | project TimeGenerated, Computer, Message | sort by TimeGenerated desc
注意事项
- 确保
omsagent用户对/var/log/auth.log有读取权限,默认已具备,若权限不足可执行:sudo chmod o+r /var/log/auth.log - 若使用Azure Monitor Agent(AMA)替代传统Log Analytics Agent,需通过Data Collection Rule(DCR)配置日志收集规则
内容的提问来源于stack exchange,提问作者praveen
相关产品推荐
相关产品推荐

