服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
我想通过nginx发送日志到rsyslog,但似乎没有被发送。 这里是nginx conf,我定义了一个自定义的日志格式, log_format rsyslog '$remote_addr – $remote_user [$time_iso8601] "$request "' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/api_access.log rsyslog; access_log syslog:server=localhost:514 rsyslog; error_log /var/log/nginx/api_error.log debug; 我也将这些日志存储在文件中,并发送到rsyslog也。 alphauser@AlphaServer:/etc/rsyslog.d$ sudo netstat -nulp | grep 514 udp 0 0 0.0.0.0:514 0.0.0.0:* 41335/rsyslogd udp6 0 0 :::514 :::* 41335/rsyslogd rsyslog udp端口514已打开。 这里是rsyslogconfiguration, template(name="all-json-nginx" type="list"){ constant(value="{ ") constant(value="\"level\":\"") property(name="syslogseverity-text") […]
我使用此命令删除当前目录中除.htaccess之外的所有文件。 find . -depth -name .htaccess -prune -o -delete 我想做一个快捷方式,所以我试图使它像完全合格的path工作 find /path/to/my/cache/dir/ -depth -name .htaccess -prune -o -delete 但是即使path是正确的,它总是说找不到目录。 我究竟做错了什么?
我正在使用HAProxy为LDAP服务器执行自动故障转移,但我不希望自动故障恢复。 场景是我有2个节点,s1和s2。 我希望所有的stream量去s1,除非它失败,当它失败,我希望所有的stream量去s2。 当s1再次变得健康的时候,我不希望自动将stream量发送回去,因为有些条目将在s2上生成。 我希望确保所有数据都已经同步,然后再使s1处于活动状态。 我像这样configurationHAProxy: backend bk_app stick-table type ip size 1 nopurge stick on dst option httpchk server s1 10.37.226.118:80 check server s2 10.37.226.113:80 check backup 这似乎工作,即使s1健康了,连接仍然继续到s2。 我的问题是 – 如何从命令行清除stick-table,换句话说,如何将stream量redirect到s1? 我看到了一些build议,如果我强制s2失败,HAProxy会将stream量redirect回s1。 这似乎工作,但是当s2再次变得健康的时候,HAProxy将stream量再次引导回到s2,换句话说,stick-table仍然有效。 我看到一些build议,说我只需要重新启动HAProxy,完美的工作,但这看起来像核选项! 是否有某种命令行选项来清除粘贴表?
我们已经build立了一个基础设施作为我们正在build设的移动应用程序的后端,包括以下几个部分: 一台NGINX服务器作为负载均衡器(512MB RAM – 1个核心CPU) 2个PHP-NGINX服务器主机脚本(2GB内存 – 2个核心CPI,8GB内存 – 4个核心CPU) 1个PostgreSql服务器作为主数据库(8GB RAM – 4个核心CPU) 现在我正试图在压力下testing这个环境的性能。 我正在使用loader.io来达到这个目的。 初步testing(每分钟1000个客户端)表明我有近40%的错误率。 现在我需要检测这个env的哪个部分导致了这么多失败? 我已经检查了PHP,NGINX和Postgres的日志,但不能拿出任何有用的信息。 这是池configuration文件: [arioo] user = arioo group = arioo listen = /run/php/php7.0-fpm-arioo.sock listen.owner = www-data listen.group = www-data listen.mode = 0666 pm = dynamic pm.max_children = 10 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pm.max_requests […]
在Splunk(来自防火墙)中显示从一个服务器到非现有专用(RFC1918)networking中的非现有主机的阻塞连接尝试。 然后,我在该服务器上启动procmon,将该连接尝试与进程关联起来。 我怀疑这与我们的备份软件代理有关。 连接尝试在10分钟后像以前一样出现在splunk中,但是它并没有出现在procmon中。 然后,我开始在那台服务器上使用wireshark,10分钟后,我可以通过服务器上的wireshark捕获这个stream量。 这有点奇怪。 这似乎不是恶意软件的行为。 C2服务器将位于互联网上,而不是在专用networking中,当我启动wireshark或procmon时,通信不会停止。 但是它的奇怪呢。 有人能为此提出一个合理的解释吗? 这不是一个虚拟主机顺便说一句。
我已经把企业局域网中的一个ipv6networkingconfiguration给自己了。 局域网中的所有主机都有一个VLAN。 我正在使用pfsense 2.3.4软件。 我现在必须弄清楚局域网中的地址分配。 地址不应该允许识别来自全球networking的任何主机,所以有两个选项。 NATv6与本地地址或全局地址旋转,但我已经读了NATv6是一个不好的select。 我可以设置全局地址旋转的地址,但是这会阻止我创build基于IP地址的防火墙规则,因为地址会一直改变。 有没有一种方法可以为每个主机分配一个IPv6地址范围以在该范围内轮换他们的地址,所以我仍然可以为每个这些范围(而不是静态地址)编写防火墙规则,并隐藏(某种程度上)全球观众的主机公开地址? 这在pfsense中可行吗? 我也可以为办公室中的每个不同的angular色创build一个VLAN,并根据每个angular色轮换全局地址,并为每个angular色创build防火墙规则,但这不是一个选项。
我在运行aws s3同步作为cron作业(在Ubuntu 16.04上)时遇到了麻烦。 这是我能做的事情: 使用sudo在/etc/cron.hourly目录中手动运行脚本(所以传递环境值似乎没有问题) 手动在没有sudo的用户目录中运行脚本 将脚本或命令本身添加到/ etc / crontab – 使用以下任一方法: 23 * * * * myusername aws s3 sync / home / myusername / temp / s3:// manning2323 * / 1 * * * * myusername /home/dbclinton/myusername/temp/s3script.sh 当然,/ etc / crontab的问题在于它可能会被更新覆盖,所以对我的目的来说还不够好。 现在,这是什么不工作: 将脚本留在cron.hourly中并等待它自动运行。 它运行(如syslog和journalctl报告),但是AWS CLI没有提供任何我能看到的输出,所以我无法知道为什么没有发生同步。 我如何知道同步没有发生? 因为新文件没有显示在我的S3存储桶中。 我得到完全相同的结果,我自己的crontab通过crontab -e添加这一行 47 18 * * […]
由于Jasper Listener,我无法启动Tomcat8,当我启动Tomcat8时,我收到了以下消息: org.apache.catalina.startup.Catalina.load Catalina.start using conf/server.xml: Error at (30, 65) : org.apache.catalina.core.JasperListener 28-Jun-2017 15:47:19.849 SEVERE [main] org.apache.tomcat.util.digester.Digester.startElement Begin event threw exception java.lang.ClassNotFoundException: org.apache.catalina.core.JasperListener at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:116) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1180) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at […]
我正在尝试使用Route53进行自动故障转移。 我遇到的问题是,即使我在健康检查中使用的CloudWatch警报处于“警报”状态,运行状况检查仍处于正常状态,DNS仍在解决故障主机(我模拟此操作通过停止实例 – 我已经设置CloudWatch将缺less的指标作为警报)。 查看屏幕截图了解我的闹钟configuration。 健康检查configuration 正如你所看到的,这个健康检查报告是健康的: 健康检查状态
我有一些我想使用Azure虚拟机自动化的进程。 我想自动启动它,运行一些东西,然后closures它,并取消configuration,直到下一次启动。 我可以通过使用任务计划程序启动启动,并设置启动时运行,在login之前。 这与我写的控制台应用程序正常工作,只是做的东西,并写入数据库,而不试图打开一个窗口。 它不适用于batch file,这是我最初想要的 – 使用batch file来运行运行我的应用程序的PowerShell脚本,然后使用返回代码来决定是否closures并取消configuration。 控制台窗口的明显区别是,所以我怀疑这个时候没有用户界面,cmd正在憋着等着呢。 这对下一个任务提出了问题 – 定期使用屏幕抓取软件在远程网站上执行操作,将logging拉下并存储在本地数据库中。 没有用于远程服务的API。 没有用户界面,我无法在木偶模式下启动Firefox并执行logging更新。 我已经尝试添加registry项,如下所述,并设置一个任务启动后login,但任务永远不会运行,虽然我不能确定它看起来像在远程桌面会话连接后出现的UI。 我已经看到一个解决scheme,它使用本地笔记本电脑上的Powershell来编写虚拟机的启动脚本和build立远程桌面连接,但是如果我要承诺离开笔记本电脑来做到这一点,笔记本电脑也可能做所有我不想要的东西 – 这就是要把它放在Azure中的全部意义。 那么,有没有人做过类似的事情,知道如何让Azure虚拟机完全进入login桌面,而不需要外界的任何交互?