小编wom*_*ble的帖子

自省清漆的工具

有没有人开发或知道任何第三方工具(或常用工具的非明显用途)来帮助糟糕的系统管理员确定通过 Varnish 的请求发生了什么?虽然varnishstat, varnishtop, 并varnishhist给我非常高级(或低级)的概述,但我正在寻找可以告诉我以下内容的内容:

  • 当前正在进行哪些请求(以及他们已经这样多久了,他们被发送到哪里,诸如此类)
  • 后端、虚拟主机之类的请求的平均服务时间
  • 其他可以帮助我识别行为不端的后端、虚拟主机等的东西。

varnish reverse-proxy

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

虚拟机命名约定

虚拟机的良好命名约定或方案是什么?

我们正在总部构建一个虚拟化硬件服务器集群,并在我们的每个州办事处构建一个类似的集群(每个州一个集群)。

我们需要命名虚拟化硬件服务器,这是比较容易的部分,但我们还需要为将在虚拟化硬件上运行的虚拟机 (VM) 提出一个命名约定。

命名约定需要具有足够的描述性,以便管理员和开发人员轻松识别 VM 的用途,但又要足够短,以免在键盘上产生重复性劳损。

为了让事情变得更有趣,我们现有的硬件命名约定在企业的功能区域之间有所不同。内部一致,但不同。有不同的文化,例如 AIX、HP-UX、Linux、Windows。

我最初的想法是构建一个 DNS 或 Active Directory 列表,每台机器有两个名称:一个名称在整个企业中是唯一的,并且具有相当的描述性;另一个名称是功能区域的本地名称。基本上,一个企业 VM 名称空间和一个功能区 VM 名称空间。企业 VM 名称可以很长,因为主要是机器使用它们来跨企业映射功能区 VM 名称。功能区名称需要简短明了,以便开发人员可以在头脑中轻松管理它们。

virtual-machines namespaces

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

每用户路由似乎不起作用

所以,我正在尝试实现每用户路由,以便我能够通过 VPN 路由所有 btpd 种子流量。不幸的是,btpd 目前不允许您绑定到特定的 IP 地址。:(

我决定尝试遵循本指南

基本上,您标记任何数据包,然后对数据包执行 SNAT 或 DNAT 或 MASQUERADE,然后使用 ip 规则强制特定路由表。

最后,我的设置:

(To my router)
eth1  Link encap:Ethernet  HWaddr 00:0a:cd:18:8a:ae  
      inet addr:172.29.5.10  Bcast:172.29.5.255  Mask:255.255.255.0
      inet6 addr: fe80::20a:cdff:fe18:8aae/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2073338425 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2031270514 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3014149031 (2.8 GiB)  TX bytes:1897259705 (1.7 GiB)
      Interrupt:17 Base address:0x6c00 

(my VPN)
tun0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:10.1.1.4  P-t-P:10.1.1.4  Mask:255.255.255.0
      UP POINTOPOINT …
Run Code Online (Sandbox Code Playgroud)

networking linux nat routing iptables

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

RabbitMQ Erlang Cookie

我在带有 Erlang R15B01 的 CentOS 5.5 机器上运行 RabiitMQ。RabbitMQ 一直在运行,直到我升级到最新版本 (2.8.4)。

当我使用以下命令启动 RabbitMQ 时:

/etc/init.d/rabbitmq start
Run Code Online (Sandbox Code Playgroud)

在 RabbitMQ startup_log 我看到以下内容:

{error_logger,{{2012,7,11},{11,44,15}},"Cookie file /var/lib/rabbitmq/.erlang.cookie mus be accessible by owner only",[]}
Run Code Online (Sandbox Code Playgroud)

Erlang cookie 具有以下权限:

-rwxr-xr-x 1 rabbitmq rabbitmq 17 Jul 10 12:20 .erlang.cookie
Run Code Online (Sandbox Code Playgroud)

有没有其他人经历过这种情况?或者有人有我可以遵循的一些故障排除步骤吗?

非常感谢,Risteard

rabbitmq

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

Veewee、Vagrant、Puppet、Erlang 和 RabbitMQ

我有点被一个问题困扰了好几天我都在努力解决这个问题。

这是我在做什么:

  1. 通过使用 Veewee,我创建了一个 VirtualBox 图像,然后我从中创建了一个 Vagrant 框。看这里这里
  2. 最后,我从 Vagrant 运行 puppet 来安装 RabbitMQ,请参见此处

Veewee、Vagrant 和 VirtualBox 都在 MacOS X 10.7.4 上运行。vagrant box 本身是 CentOS 6.2。

这在很长一段时间内运行良好,直到几天前我重新创建 VirtualBox 映像。在我的 puppet 运行期间安装 rabbitmq-plugins 期间,我现在收到以下错误:

/Stage[main]/Rabbitmq/Exec[rabbitmq-plugins]/returns: erlexec: HOME must be set
Run Code Online (Sandbox Code Playgroud)

我的 RabbitMQ puppet 配置可以在该项目的GitHub 存储库中找到,但这里是最重要的部分:

$version = "2.8.7"
$url     = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/rabbitmq-server-${version}-1.noarch.rpm"

package{"erlang":
    ensure => "present",
}

package{"rabbitmq-server":
    provider => "rpm",
    source   => $url,
    require  => Package["erlang"]
}

exec{"rabbitmq-plugins":
    path    => "/usr/bin:/usr/sbin:/bin",
    command => "rabbitmq-plugins …
Run Code Online (Sandbox Code Playgroud)

puppet

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

如何使用 terraform.io 在不停机或不丢失数据的情况下更改有状态服务器的图像?

假设我有应用程序服务器、数据库服务器和一些 dns-round-robin 负载平衡器。所有这些都由使用Packer创建的图像提供支持,并使用Terraform管理部署。当实例被破坏和重新创建时,如何更改数据库服务器的图像而不破坏它们的数据?

我能想到的最简单的事情是关闭写入,对数据库进行快照,然后将快照还原到新服务器。但是像那样依赖手动摆弄感觉真的很不对,为了简单的升级而将服务下线也感觉不对。有一种更清洁更好的方法,对吧?

image deployment infrastructure packer terraform

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

wget - 仅当返回码为 200 时才保存,否则删除

我有一个脚本每隔几分钟检查一次我的公共 IP 地址。
问题是ISP有时会给我缓存的页面(我知道,我已经使用了wget中的所有相关参数,ISP是由一群无能的某人组成的,他们显然制作了自己的超高效缓存服务器)或我自己的路由器制作的错误页面。
结果,当 wget 应该保存我的 IP 地址时,它却保存了错误页面。

编辑:
我用什么来检测IP地址的变化
http://paste.debian.net/292602/

linux http wget

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

如何更改 Elastic Beanstalk 创建的自动缩放组的终止策略?

我在 AWS Elastic Beanstalk 配置中使用“T2 Unlimited”实例。

默认实例终止策略(用于缩小规模时)首先终止最旧的实例。这很糟糕,因为最旧的实例最有可能积累 CPU 积分。我想将实例终止策略更改为“最新的优先”。

我试过这个:

option_settings:
  aws:autoscaling:asg:
    TerminationPolicies: [
        "NewestInstance"
    ]
Run Code Online (Sandbox Code Playgroud)

但出现错误:

Invalid option specification (Namespace: 'aws:autoscaling:asg', OptionName: 'TerminationPolicies'): Unknown configuration setting.
Run Code Online (Sandbox Code Playgroud)

这并不奇怪,因为此选项未列为有效选项。

那么,当 Beanstalk 为环境创建新的自动缩放组时,如何才能自动将终止策略设置为最新的优先呢?

也许这是不必要的,因为自动缩放组仅在创建环境时创建?

amazon-web-services elastic-beanstalk

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

Docker + Nginx + PHP-FPM 错误:[emerg] 1#1: 在上游找不到主机

我有一个从这个 repo克隆的 LEMP 堆栈的 docker 设置。

在运行窗口 10 的开发机器上一切正常,但是当我将图像推送到 docker hub 并将其拉到我的 VPS 上时,无论我做什么,我总是收到此错误:

[emerg] 1#1: host not found in upstream "php-fpm:9000" in /etc/nginx/conf.d/upstream.conf:1
Run Code Online (Sandbox Code Playgroud)

此错误来自两个文件。

第一: 来自这个 Nginx Docker 文件

这是代码:

RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
&& rm /etc/nginx/conf.d/default.conf
Run Code Online (Sandbox Code Playgroud)

第二个 来自这个 Nginx default.conf 文件

这是代码:

    location ~ \.php$ {
      ...
      fastcgi_pass php-upstream;
      ...
    }
Run Code Online (Sandbox Code Playgroud)

我说这两个文件是 b/c 其他地方没有引用 php-upstream 的原因。

我已经尝试了添加/删除主机、添加depends_on、更改 nginx、php 版本、禁用 selinux 的所有可能组合,但它不起作用。我总是在生产中遇到相同的错误,但在本地服务器上一切正常。

nginx php-fpm docker docker-compose docker-machine

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

Web 应用程序访问的数据库和数据库用户的命名约定?

在安装使用单个用户与单个数据库(例如 MySQL,但这也适用于其他 RDBMS)对话的 Web 应用程序时,您通常会遇到如下事件序列:

CREATE DATABASE wordpress CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'hunter2';
Run Code Online (Sandbox Code Playgroud)

一些指南建议对数据库名称使用不同的用户名,而其他指南则建议使用不同的名称,例如“appuser”代表用户,“app”代表数据库名称。

使用同名有什么明显的技术缺点吗?这样做有没有可能造成混淆的地方?

编辑:我知道这是有问题的安全做法,您应该将您的数据库命名为 fhqwhgads和您的用户flobadob;然而,(a)默默无闻是一个有问题的工具,(b)这是每个 webapp 在他们的文档中给出的例子。

web-applications database-administration

5
推荐指数
1
解决办法
7467
查看次数