服务器管理员

系统和网络管理员的问答

6
Linux:logwatch(8)太吵了。如何控制噪音水平?
我们的Linux系统默认运行logwatch(8)实用程序。在RedHat / CentOS / SL系统上,/etc/cron.daily/cronjob 调用Logwatch ,然后cronjob每天发送一封包含结果的电子邮件。这些电子邮件的主题如下: Subject: Logwatch for $HOSTNAME 问题是默认情况下,这些日常电子邮件过于嘈杂,并且包含许多已经由其他服务(Nagios,Cacti,中央系统日志等)监视的多余信息(HTTP错误,日常磁盘使用情况等)。对于100个系统,电子邮件负载无法承受。人们会忽略电子邮件,这意味着我们可能会错过Logwatch发现的问题。 如何减少Logwatch产生的噪音,但仍然使用Logwatch通知我们重大问题? 我将在下面发布自己的答案,但我想看看其他人做了什么。 注意:关于FreeBSD,我有一个类似的问题,在FreeBSD上:periodic(8)太吵了。如何控制噪音水平?

3
尽管SYN_RECV连接数较少,但日志中仍存在“可能的SYN泛洪”
最近,我们有一个apache服务器,由于SYN泛洪,响应速度非常慢。解决方法是启用tcp_syncookies(net.ipv4.tcp_syncookies=1 in /etc/sysctl.conf)。 如果您需要更多背景知识,我在这里发布了一个与此有关的问题。 启用syncookie之后,我们大约每60秒开始在/ var / log / messages中看到以下消息: [84440.731929] possible SYN flooding on port 80. Sending cookies. Vinko Vrsalovic告诉我,这意味着syn待办事项已满,因此我将tcp_max_syn_backlog提高到4096。在某些时候,我还通过发出来将tcp_synack_retries降低到3(从默认值5降低)sysctl -w net.ipv4.tcp_synack_retries=3。之后,频率似乎下降了,消息间隔大约在60到180秒之间变化。 接下来,我发出sysctl -w net.ipv4.tcp_max_syn_backlog=65536,但仍在日志中获取消息。 在所有这些过程中,我一直在观察SYN_RECV状态下的连接数(通过运行watch --interval=5 'netstat -tuna |grep "SYN_RECV"|wc -l'),它从不超过约240个,远低于积压的大小。但是我有一台Red Hat服务器,它徘徊在512左右(此服务器的限制是默认值1024)。 是否还有其他tcp设置会限制待办事项的大小,或者我吠叫了错误的树?SYN_RECV连接的数量是否应该netstat -tuna与待办事项的大小相关? 更新资料 尽我所能告诉我,我在这里处理合法连接,netstat -tuna|wc -l徘徊在5000左右。我今天一直在研究此问题,并从last.fm员工那里找到了这篇帖子,这非常有用。 我还发现启用syncookies时tcp_max_syn_backlog不起作用(按照此链接) 因此,下一步,我在sysctl.conf中设置以下内容: net.ipv4.tcp_syn_retries = 3 # default=5 net.ipv4.tcp_synack_retries = 3 …
30 linux  tcp  kernel  flooding 

4
数据在IPv6通信中是否始终加密?
对于这个问题,我似乎无法获得直接的答案。维基百科说:“ IPsec是IPv6中基本协议套件的组成部分,”但这意味着所有通信都始终被加密,或者这意味着加密是可选的,但是设备必须能够理解它(应该使用它) )? 如果加密是可选的,是操作系统决定使用加密还是应用程序?流行的操作系统和软件通常是否启用加密? 我自己进行调查,但是我没有IPv6连接。 更新:好的,所以是可选的。我的后续问题:通常是定义是否使用加密的应用程序,还是操作系统? 一个特定的示例:想象一下,我有支持本地ipv6的最新版本的Windows,并且我使用Mozilla Firefox在ipv6.google.com上搜索了某些内容。会加密吗?
30 encryption  ipv6  ipsec 

4
检查用户密码输入在Powershell脚本中是否有效
我正在使用Powershell脚本,该脚本将计划任务添加到我们域中的系统。当我运行此脚本时,它将提示我输入密码。有时我会不小心输入密码,然后开始该过程,这将我的帐户锁定了。有没有一种方法可以验证我的凭据,以确保我输入的内容可以通过域进行验证? 我想找到一种查询域控制器的方法。我已经完成了一些Google搜索,并且应该能够执行WMI查询并捕获错误。如果可能的话,我想避免这种验证方式。 有任何想法吗?提前致谢。

5
%st在顶部表示什么?
这是我的示例: Cpu(s): 6.0%us, 3.0%sy, 0.0%ni, 78.7%id, 0.0%wa, 0.0%hi, 0.3%si, 12.0%st 我试图弄清楚%st字段的重要性。我读到这意味着窃取CPU,它代表虚拟机管理程序花费的时间,但是我想知道这对我实际上意味着什么。 这是否意味着我可能在繁忙的物理服务器上,而其他人正在服务器上使用过多的CPU,而他们却从我的VM中取走了? 如果我正在使用EBS,那么它是否与在虚拟机管理程序级别处理EBS I / O有关? 它与VM上运行的内容有关还是完全不受我的影响?

4
什么是“可释放内存”?
Amazon RDS具有“可释放内存”的指标。它似乎以锯齿形上升和下降。 这使我相信MySQL用来缓存的是内存,并且当缓存过期时,会出现更多的可用内存。任何权威性的文档都很好。


3
新贵可以处理指向配置文件的符号链接吗?
我的所有新贵配置文件都在版本控制下。我使用upstart的理想方法是从版本控制存储库(Mercurial-无关紧要)创建到/ etc / init的软链接,但是upstart无法看到作业。如果我将文件从存储库目录复制到/ etc / init,一切都很好。 有人知道为什么暴发户无法处理符号甚至硬链接吗? 谢谢 克里斯

3
查找命令默认排序顺序
linux find命令返回的条目的默认排序顺序是什么? 例如,如果我发出 find . -type f -name '*mp3' 并且输出由跨多个子文件夹的多个文件组成,列出目录的默认顺序是什么?同时,列出单个目录中文件的排序顺序是什么? 有时它返回: ./B/01.mp3 ./A/01.mp3 ./A/04.mp3 ./A/02.mp3 查看如何首先列出目录B的内容,然后列出目录A的内容。同时,在目录A中,文件以有趣的顺序列出。
30 linux  shell  find 

2
logrotate如何精确处理“每日”?
从我系统上的时间戳来看,当logrotate由cron运行时,logrotate会每天进行日志轮换。但是,如果我早于运行它,则不会旋转文件。logrotate如何知道是否应该旋转它们,保留历史记录或使用时间戳记?
30 linux  logrotate 

8
将服务器放在冰箱中?[关闭]
这可能是一个愚蠢的问题,但我决定去解决。 在接下来的几周内,我将购买3台服务器,以便在家里建立一个小型Webfarm。 在服务器机房工作的其他人告诉我,我应该将服务器存放在有空调的机房中。这真的很贵,因为南亚的温度在10至50摄氏度之间。 有趣的部分来了:我家中有一个额外的冰箱,为什么不应该将服务器放在冰箱中? 优点: 我不必买空调。 我不必为服务器购买机架安装。 冰箱消耗的电能远远少于交流电。 给我你的建议!

3
MySQL:创建一个可以从多个主机连接的用户
我正在使用MySQL,我需要创建一个可以从本地主机或其他服务器(即10.1.1.1。)连接的帐户。所以我在做: CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password123'; CREATE USER 'bob'@'10.1.1.1' IDENTIFIED BY 'password123'; GRANT SELECT, INSERT, UPDATE, DELETE on MyDatabse.* to 'bob'@'localhost', 'bob'@'10.1.1.1'; 这可以很好地工作,但是有没有更优雅的方法来创建链接到多个IP的用户帐户,还是需要这种方式? 我主要担心的是,将来会更新一个“ bob”帐户的权限,而不会更新另一个。


5
IPv6部署的障碍:解决
在我的工作中,有几件事阻止了IPv6部署成为活跃讨论的话题。通常存在技术问题,但是一个非技术问题似乎是实际使部署项目前进的主要绊脚石。 地址,记忆。 具体来说,IPv4地址是可理解的,而IPv6地址看起来就像一个很大的十六进制字符串。人脑很难记住超过7-8个项目的列表,而IPv4地址(192.168.231.148)包含四个项目,这使我们很容易记住。完全填充的IPv6地址不仅包含8个部分,而且每个部分中都有4个十六进制数字。IPv6地址不是为记忆而设计的。对于知道DNS服务器位于192.168.42.42(或更可能是“ 42.42”,因为可能会记住公司前缀)的技术人员来说,记住IPv6地址的想法使他们感到恐惧。反过来,这使他们对参与IPv6部署项目的热情降低了。 由于我们网络的工作方式,我们在v4寻址方面不是完全动态的。出于多种原因,我们有数个或多个完全静态分配的子网,其中主要的原因是,静态DHCP分配的开销被认为太大。而且,某些设备仍然不够智能,无法从DHCP中提取DNS地址,同时还具有静态分配,因此需要手动配置DNS设置。因此,必须完成一些v6地址记忆。 我们没有发布v6的任何授权,因此我们没有来自高层的压力。但是,是时候开始准备我们的基础结构来处理IPv6了,即使我们不进行批量转换也是如此。 对于已经使用IPv6一段时间的人来说,您使用什么捷径来讨论或跟踪子网和特定/关键IP地址?如果我可以帮助减轻一些围绕IPv6的恐惧,我们可能会推动该项目的进行。
30 networking  ipv6 

3
调整Linux IP路由参数-secret_interval和tcp_mem
今天,我们的其中一个HAProxy VM出现了一个小的故障转移问题。当我们对其进行挖掘时,发现了以下内容: 1月26日07:41:45 haproxy2内核:[226818.070059] __ratelimit:取消了10个回调 1月26日07:41:45 haproxy2内核:[226818.070064]套接字内存不足 1月26日07:41:47 haproxy2内核:[226819.560048]套接字内存不足 1月26日07:41:49 haproxy2内核:[226822.030044]套接字内存不足 每个链接显然都与的默认设置较低有关net.ipv4.tcp_mem。因此,我们将其默认值提高了4倍(这是Ubuntu Server,不确定Linux风格是否重要): 当前值为:45984 61312 91968 新值是:183936 245248 367872 之后,我们开始看到奇怪的错误消息: 1月26日08:18:49 haproxy1内核:[2291.579726]路由哈希链太长! 1月26日08:18:49 haproxy1内核:[2291.579732]调整您的secret_interval! 嘘.. 这是一个秘密! 显然,这与/proc/sys/net/ipv4/route/secret_interval默认值600有关,并控制路由缓存的定期刷新 该secret_interval指令指示内核多久清除一次所有路由散列条目,而不管它们的新旧程度如何。在我们的环境中,这通常是不好的。每次清除缓存时,CPU都会每秒忙于重建数千个条目。但是,我们将其设置为每天运行一次,以防止内存泄漏(尽管我们从未有过)。 虽然我们很乐意减少这种情况,但建议定期删除整个路由缓存似乎很奇怪,而不是简单地将旧值更快地从路由缓存中推出。 经过一番调查,我们发现/proc/sys/net/ipv4/route/gc_elasticity这似乎是检查路由表大小的更好选择: gc_elasticity最佳描述为内核在开始使路由哈希条目过期之前将接受的平均存储桶深度。这将有助于维持活动路由的上限。 我们将弹性从8调整为4,以期更积极地修剪路由缓存。这secret_interval对我们来说并不正确。但是有很多设置,目前尚不清楚哪种设置是正确的选择。 / proc / sys / net / ipv4 / route / gc_elasticity(8) / proc / sys / net …
30 linux  routing  tcpip 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.