我们有一个使用 DNS 通配符的应用程序,即 *.app.example.com。我们在 Ubuntu Hardy 上使用 Apache 2.2。Apache 配置的相关部分如下。
在 /etc/apache2/httpd.conf 中:
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vlog
Run Code Online (Sandbox Code Playgroud)
在 /etc/apache2/sites-enabled/app.example.com 中:
ServerName app.example.com
ServerAlias *.app.example.com
...
CustomLog "|/usr/sbin/vlogger -s access.log /var/log/apache2/vlogger" vlog
Run Code Online (Sandbox Code Playgroud)
客户使用自己的 URL 访问此应用程序,例如 company1.app.example.com、company2.app.example.com 等。
此前,%v在LogFormat指令将匹配客户端请求的主机名,我们会得到几个子目录下的/ var /日志/的Apache2 /题外话对应于使用各种客户端的URL。
现在,%v似乎与该ServerName值匹配,因此我们只能在 /var/log/apache2/vlogger/app.example.com 下获得一个日志。这破坏了我们的日志文件分析,因为日志文件没有表明日志与哪个客户端相关。
我可以通过将其更改为以下内容LogFormat来轻松解决此问题:
LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vlog
Run Code Online (Sandbox Code Playgroud)
这将使用 HTTP Host: 标头告诉 vlogger 在哪个子目录中创建日志,一切都会好起来的。 …
我最近开始从事一项具有异构服务器环境的新工作,即 Windows 和 Linux(主要是 Ubuntu,但少数是 SLES)之间的比例约为 50/50。我之前使用 *nix 的经验是大约 5 年前,所以我花了一点时间重新站起来,现在我已经开始对我的环境进行相当多的自定义,即调整我的环境~/.vimrc, ~/.bash_profile 等。
我正在寻找一种可靠的方法来使我的自定义配置文件在多台服务器之间保持同步,同时最大限度地减少手动维护。
我找到了一个解决方案,使用 Dropbox,这似乎是一个很酷的主意。它的维护成本低,而且由于有问题的文件很小,它也不会占用大量带宽。
有没有其他替代建议?
我有一个名为 crow 的 Ubuntu 服务器:
$ hostname
crow
Run Code Online (Sandbox Code Playgroud)
但是当我尝试 ping 它(从它本身)时,我得到了未知主机:
$ ping crow
ping: unknown host crow
Run Code Online (Sandbox Code Playgroud)
尽管在 /etc/hosts 中明确添加了乌鸦:
$ sudo cat /etc/hosts
127.0.0.1 localhost crow
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
回复评论的附加信息:
/etc/nsswitch.conf 的 hosts 行如下所示:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Run Code Online (Sandbox Code Playgroud) 什么是 WSUS(Microsoft Windows Server 更新服务)?客户端站点需要哪些设置才能使用 WSUS?WSUS 是否更新防病毒产品,还是仅支持 Microsoft 软件更新?
谢谢你,萨迪克
当我输入一个不存在的命令时,它会显示“找不到命令”。然后等待大约 5 秒钟,然后再次显示提示。
我该如何解决?
我正在使用 Fedora。
现有设置:
这一直工作得很好。
我添加了 host3、ESXi 4.1、2 个 HBA。
如果我查看配置/存储适配器,我可以看到两个 HBA 都看到了两个 LUN,但是如果我查看配置/存储,我只能看到 1 个数据存储。host1/2 可以看到两个 LUN,而且我也在两个 LUN 上运行虚拟机。
我已重新扫描、刷新甚至重新启动,但 host3 拒绝确认其中 1 个数据存储。
有谁知道发生了什么?
更新:
我用 ESX (not i) 4.0 重新安装了主机,与现有主机的版本相同,但它仍然无法识别 vmfs。我想我要从该数据存储中删除所有内容,然后对其进行格式化。
更新2:
我从头开始创建 LUN,问题变得更加奇怪。我已将 LUN 提供给所有 3 台主机,我可以在 vSphere 客户端的所有 3 台主机上的配置/存储适配器部分看到 LUN。
我有大约 30,000 个 Apache 访问日志,其中一些列出了多个客户端 IP 地址。这是因为 Apache 记录了 X-Forwarded-For 标头而不是客户端的 IP 地址。这样做的原因是因为我们最近在 Web 服务器前面添加了 haproxy。
展望未来,我们将使用Apache 的rpaf仅记录 1 个 IP 地址,即到 haproxy 的传入连接的 IP 地址,因此这不会是一个持续的问题。
这让我想到了实际问题:
如何处理具有多个 IP 地址的现有日志,以仅提取我想要的日志。我假设我需要 sed 或类似的东西,但我更像是一个 Windows 人,所以不是 100% 确定。
规则是:
示例 1、1 个 IP
输入:10.1.1.1 - - [29/Jan/2010:11:00:00] ....(日志行的其余部分)
输出:10.1.1.1 - - [29/Jan/2010:11:00:00] ....(日志行的其余部分)
示例 2,2 个 IP
输入:10.1.1.1 , 10.2.2.2 - - [29/Jan/2010:11:00:00] ....(日志行的其余部分)
输出:10.1.1.1 - - [29/Jan/2010:11:00:00] ....(日志行的其余部分)
示例 3、3 个 IP …
linux ×2
apache-2.2 ×1
bash ×1
dropbox ×1
fedora ×1
hosts ×1
preferences ×1
sed ×1
text ×1
ubuntu ×1
vmware-esxi ×1
wsus ×1