小编Mik*_*ike的帖子

你最好的高级 Linux 面试问题是什么

在这个网站上,时不时会有人问什么是系统管理员面试问题。大多数在阅读它们时,它们都是初级到中级的问题。

我想知道你最好的高级 Linux 管理员面试问题是什么。

我的两个是

1) 如果您已经登录系统,您如何阻止分叉炸弹

2) 您删除了 apache 正在使用的日志文件并且尚未重新启动 apache,您如何恢复该日志文件?

linux

25
推荐指数
8
解决办法
9万
查看次数

nginx 传回自定义标头

我有以下例子

           location / {
                    proxy_read_timeout 2000;
                    proxy_next_upstream error;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Host $http_host;
                    proxy_pass_header X_CUSTOM_HEADER;
                    proxy_redirect off;
                    proxy_max_temp_file_size 0;
                    proxy_pass https://prod;
                    break;
            }
Run Code Online (Sandbox Code Playgroud)

现在当我使用以下卷曲线

curl --head -H "X_CUSTOM_HEADER: foo" http://domain.com/api/test
Run Code Online (Sandbox Code Playgroud)

现在这不起作用.. 后端的 apache/php 看不到标题。如果我绕过 nginx,它就可以工作

curl --head -H "X_CUSTOM_HEADER: foo" http://web1.domain.com/api/test
Run Code Online (Sandbox Code Playgroud)

nginx http-headers

16
推荐指数
1
解决办法
2万
查看次数

ps aux 挂在高 cpu/IO 与 java 进程

我在 java 进程和 nrpe 检查方面遇到了一些问题。我们有一些进程有时会在 32 核系统上使用 1000% 的 CPU。系统非常敏感,直到您执行

ps aux 
Run Code Online (Sandbox Code Playgroud)

或者尝试在 /proc/pid# 中做任何事情,比如

[root@flume07.domain.com /proc/18679]# ls
hangs..
Run Code Online (Sandbox Code Playgroud)

一串ps

stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
stat("/dev/pts1", 0x7fffb8526f00)       = -1 ENOENT (No such file or directory)
stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
readlink("/proc/15693/fd/2", "/dev/pts/1", 127) = 10
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
write(1, "root     15693 15692  0 06:25 pt"..., 55root     15693 15692  0 06:25 pts/1    00:00:00 ps -Af
) = 55
stat("/proc/18679", …
Run Code Online (Sandbox Code Playgroud)

linux java centos cpu-usage high-load

13
推荐指数
1
解决办法
7307
查看次数

如何配置 Postfix 以忽略某些域的中继主机?

Postfix 中有没有办法忽略relayhost?

我有类似的东西

relayhost = [smtp.domain.net]:587
Run Code Online (Sandbox Code Playgroud)

现在对于某个域,我不想将其发送到该中继,而是希望它仅从该机器发送。

我必须如何配置 Postfix 才能做到这一点?

smtp postfix

11
推荐指数
1
解决办法
1万
查看次数

使用 statsd 的好处?

所以过去几天我一直在玩石墨,我可以看到那里的潜力以及它为何如此强大。

我的主要问题是为什么我应该像 esty 一样在它前面使用 statsd 而其他很多人都这样做?截至目前,我没有看到在石墨前面放置另一个堆栈的大好处。

我希望有人可以清除它

https://github.com/etsy/statsd

monitoring graphite

7
推荐指数
1
解决办法
1223
查看次数

什么是*nix 最好的集中式系统日志查看工具

寻找人们认为最适合对集中式系统日志服务器进行 Web 查看的内容。我也愿意使用任何系统日志服务器。

编辑

我实际上选择了GrayLog2

web syslog

6
推荐指数
2
解决办法
1041
查看次数

sensu 从客户那里删除支票

我创建了一个测试检查,现在我想删除它。它似乎并没有远离客户。我使用 uchima 作为前端,支票不再列在

/检查

但如果我查看客户,它仍然有支票。

我发现删除支票的唯一方法是删除节点并让它重新添加自己。我有 300 个客户,我宁愿不这样做。

sensu

6
推荐指数
1
解决办法
7794
查看次数

文件系统冗余 + 速度

寻找一些意见,如果有人用他们有信心的解决方案克服了这个问题。

希望建立一个容错的网络环境。所以设置是负载均衡器后面的几个节点。现在 Web 开发人员可以通过 ssh 连接到 1 个服务器来编辑代码等。

我正在考虑 glusterfs,但将 glusterfs 文件系统作为文档根目录会导致网络服务器可以提供的页面减少约 20-30%。我期待这一点,因为我只通过以太网而不是 infiband 之类的。

所以我在考虑使用 glusterfs+inotify。所以我有一个 inotify 脚本正在运行,它监视 docroot 和 gluster 挂载的变化,并在被更改的文件/目录上执行 rsync。这种方式 apache 可以从本地磁盘而不是 gluster 提供服务,但它提供了通过集群文件系统提供服务的效果。

我唯一的问题是我需要运行 2 个 inotify 脚本,并且对于我们正在运行的文件计数,以添加我将使用大约 700 兆内存的所有 inotify 观察程序。

所以有人有任何建议或指示吗?

谢谢!

编辑

把它想象成一个虚拟主机。客户端通过 ssh 连接到 1 个服务器,但他们创建/编辑/删除的文件在所有其他节点上

反之亦然。如果网络服务器创建文件,它们也需要在所有节点上。

所以这会抛出一个直接的 rsync,因为它太慢了。

cloud cluster filesystems glusterfs

4
推荐指数
1
解决办法
783
查看次数

本地 ansible-playbook 使用 vars 作为角色运行 playbook

我对 ansible 很陌生,所以我可能会设置错误。我的想法是我有某些类别的服务器。(例如监视器、网络、数据库)

我想对它们运行本地 ansible 运行,所以我的监视器播放看起来像

---

# plays/monitor.yaml

- hosts: mongo
  connection: local
  hosts: localhost
  become: yes
  become_user: root
  roles:
    - ../roles/users
    - ../roles/monitor
  vars:
    sensu_install_client: true
    sensu_install_server: true
Run Code Online (Sandbox Code Playgroud)

我的roles/monitor/tasks/main.yml样子

---

# roles/monitor/tasks/main.yaml

- include: common.yml

- include: server.yml
  when: sensu_install_server

- include: client.yml
  when: sensu_install_client
Run Code Online (Sandbox Code Playgroud)

我希望能够传入 vars,因此包含将发生在角色中。所以当我设置我的 api 实例时,我可以做类似的事情

vars:
   sensu_install_client: true
Run Code Online (Sandbox Code Playgroud)

在剧中,它只会包含来自监视器角色的 client.yml。

ansible

2
推荐指数
1
解决办法
8896
查看次数

Apache prefork 进程丢失

我们通过 cacti 监控 apache 进程的数量。我注意到进程数上升到 70,然后下降到 20ish。什么会导致 apache 这样做?这是我们的 prefork 设置

StartServers       50
MinSpareServers    10
MaxSpareServers    100
ServerLimit       250
MaxClients        250
MaxRequestsPerChild  3000
Run Code Online (Sandbox Code Playgroud)

process apache-2.2

0
推荐指数
1
解决办法
475
查看次数