我正在寻找一种解决方案来移动从今天起早一年的文件。我的日志分区已满,但我无法删除它们。他们需要很长时间。无论如何,我想出的一种解决方案是:
find /sourcedirectory -mtime 365 -exec mv "{}" /destination/directory/ \;
Run Code Online (Sandbox Code Playgroud)
这行得通吗?由于“ -mtime 365 ”而询问这是否会将较旧的文件从今天移动到新位置?
谢谢!
我需要通过 echo 向 graylog2 服务器发送一条消息,以测试工具的 %{@type} 是否正确,但是一旦我执行了 GELF 支持中的 echo,就不会到达我的 graylog2 服务器。如果它重新启动 graylog2,则有关它开始的消息将到达 graylog2 服务器。
回显消息示例:
echo '{"version": "1.1","host":"example.org","short_message":"A short message that helps you identify what is going on","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}' | nc -w 1 my.graylog.server 12201
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?graylog --debug 模式不显示任何内容。它甚至没有看到消息进来。
编辑:
Graylog2 输入是为 GELF TCP 设置的,并显示活动连接,当我尝试回显时它会升高,但没有消息到达服务器。
我正在尝试使用 404 或 403 页面监视 HTTP 状态。众所周知,Monit 将这些页面视为连接失败,但我该如何更改。我只想监控它是否显示 404 或 403 页面。
如果可能的话,我需要用这个配置检查它。
这是我的检查配置:
check process httpd with pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host hostname port 80
protocol HTTP request "/"
then exec "/bin/bash -c '/bin/echo -e "hostname\thttpd\t3\tFAILED" | /usr/sbin/send_nsca -H nagiosserver -c /etc/send_nsca.cfg; /usr/bin/monit restart nginx;'"
Run Code Online (Sandbox Code Playgroud) 我需要帮助。我正在查看 Monit 文档,我需要帮助。我在那里找不到我的答案。我需要监视服务的日志文件,如果该日志文件的大小停止增加,或者日志文件中的某些内容停止输入(日志文件每秒收到大约 20 条新消息。它有轮换)然后监视将通过电子邮件提醒我。这个真的很需要!
谢谢!
我正在用 bash 编写一个 collectd nagios 自定义检查脚本。我遇到的问题是 nagios 将主机名显示为 host.name.domain 但 collectd 将 WSP 文件保存为 host_name_domain。我的问题是如何使变量将从 nagios (host.name.domain) 获取的主机名转换为 collectd 格式 (host_name_domain)。
这是必须发生转换的部分。所以 WSP_PATH 会在变量 $NHOST 中给出主机名的 collectd 格式
WSP_PATH=/var/lib/carbon/whisper/ctd/$NHOST/uptime/uptime.wsp
Run Code Online (Sandbox Code Playgroud) 我正在开发一个用于 monit 状态检查的脚本,以便我可以将 OK 状态消息发送到 NagiOS NSCA 服务器(被动检查)。我遇到的问题是,如果脚本 grep 函数不包含任何会触发消息发送的内容,我的 bash 脚本仍会发送消息。
脚本:
变量
rsysl='rsyslog'
log='messages'
Run Code Online (Sandbox Code Playgroud)
变量中的命令
host=$(hostname)
monstat=$(monit status|grep -C 1 '$rsysl')
nsca_status=$(echo -e "$host\t$rsysl\t0\tOK" | /usr/sbin/send_nsca -H mon.lv.lan -c /etc/send_nsca.cfg)
Run Code Online (Sandbox Code Playgroud)
监控状态命令
# Postfix check
$monstat
Run Code Online (Sandbox Code Playgroud)
如您所见,消息发送功能仅在状态等于未运行且不可访问时发送消息
if [ "status" == "not running" ] && [ "status" == "not accessible" ]; then
$nsca_status
else
:
fi
Run Code Online (Sandbox Code Playgroud)
Grep 输出(在实际情况下,消息发送命令必须匹配运行和可访问:
# monit status|grep -C 1 'rsyslog'
Process 'rsyslog'
status Running
-- …
Run Code Online (Sandbox Code Playgroud)