Articles of 日志

在linux中logging每个IP地址的传输数据量的方法

我在linux中寻找一种方法来logging数据发送到或接收到的每个IP地址的数据传输量(单独接收和发送)。 这些统计数据将在路由器上运行,后面是专用networking。 我正在寻找私人networking和互联网之间的统计数字。 我知道像vnstat,iptraf这样的工具,还有iptablesfunction,但据我所知,这些都不能通过每个发生通信的IP地址来实现。 港口在这里并不重要。 也许有一个聪明的方法来parsingtcpdump .pcap输出? 这里的应用程序将监视来自专用networking内的exception情况。 也就是说,如果一个未知的IP地址似乎从networking内部接收到大量的数据,这可能意味着一个入侵。

CentOS上的NGINX应该是正确的日志权限?

在/ var / log / nginx /我有访问和错误日​​志。 有些是.log错误,其他的有.gz 我想我搞砸了权限。 有些文件是由root / root创build的,其他文件是使用nginx.conf中configuration的用户创build的 什么用户/组应该创build这些文件? 为什么? 它可以是根? 我可以看到现在新的.log文件是由root创build的,但不知道是否是正确的。 而且我想问问哪里是谁创build这些文件的用户?

sles / opensuse os安装日志

在安装SLES / openSUSE(或者另一个linux)的时候,是否有可能让安装日志closures所有事件,任务,运行命令等等? 在已经运行的系统中,这不是一个有问题的查找信息,但将整个os安装logging在一个地方会很有用。

如何使用auditd或其他logging执行特定的二进制/脚本

我手边有以下情况。 我在/ usr / bin中有一个或多个特定的可执行文件,我将调用一个/ usr / bin / execute,它们可以是编译的二进制文件或脚本文件,例如perl或python脚本。 我想logging任何用户启动这些特定的二进制文件。 我想从这里得到的信息基本上是: 可执行文件的名称/path 给予可执行文件的参数 执行该操作的用户 date/时间 此外,如果需要,我希望这些信息的格式是合乎逻辑的。 审计看起来像是一个不错的select,但它有一个奇怪的方式,由于某种原因将上面的信息分成两个条目。 例如,在上面的例子中,我想跟踪程序/ usr / bin / execute的运行。 我将把这些语句添加到auditctl: -a exit,always -F arch=b32 -S execve -a exit,always -F arch=b64 -S execve (我还没有能够find如何指定“/ usr / bin / execute”作为唯一的login,我会感谢从谁知道如何做到这一点的人的帮助) 在运行/ usr / bin /执行一个参数后的日志中,我得到以下两个相关条目: type=SYSCALL msg=audit(1447688181.106:819746): arch=c000003e syscall=59 success=yes exit=0 a0=2898528 […]

使用all-in-one shell脚本分析squid3 access.log日志文件

我只是要写一个shell脚本,让我知道像SARG这样的基本function。 按照大多数点击的url进行sorting(在10k中10分钟内排名前100) 状态/错误代码总和 以及以很多带宽消耗的URLsorting 还有更多的sortingfunction 不幸的是,我用大多数Bandwith按URLsorting的function有问题。 那里已经有各种各样的尝试,但总是相同的问题:要么不工作,要么加在一起,在第二个spallte总字节…有没有人有任何想法,我怎么能实现最好的? raw accecc.log(常用样式) > tail /var/log/squid3/access.log 192.168.1.208 – – [10/Jan/2016:19:01:44 -0100] "CONNECT i.ytimg.com:443 HTTP/1.1" 200 143903 TCP_MISS:HIER_DIRECT 192.168.1.208 – – [10/Jan/2016:19:02:02 -0100] "CONNECT www.youtube.com:443 HTTP/1.1" 200 87392 TCP_MISS:HIER_DIRECT 192.168.1.208 – – [10/Jan/2016:19:02:12 -0100] "CONNECT s.ytimg.com:443 HTTP/1.1" 200 32718 TCP_MISS:HIER_DIRECT 192.168.1.208 – – [10/Jan/2016:19:03:00 -0100] "CONNECT s.youtube.com:443 HTTP/1.1" 200 6376 […]

systemd日记和docker工人

我正在使用使用systemd和docker的CoreOS。 systemd和CoreOS的一个大问题就是它不能和docker一起玩100%。 或者也许docker工人也不玩百分百。 我遇到的另一个问题是日志中logging日志事件似乎来自“docker”,这是不正确的。 他们来自docker运行的过程。 这通常不是一个大问题,但是当您将这些日志转发到另一个服务(如ELK堆栈)时,您无法弄清nginx日志与其他服务日志是什么。 他们的来源是所有docker工人! 有没有办法解决这个问题? 我使用的是Docker 1.9,这是CoreOS Stable所具有的function。 所以我没有直接使用docker的json输出的特权。

Node.js程序无法读取带有Buffer错误的.log文本文件

我正试图用一个名为“logging器”的程序查看日志。 当我运行node logger ,出现以下错误: <Buffer 66 72 75 69 74 69 73 68 79 0a> “logging器”程序文件如下所示: var fs = require('fs'); var file = fs.createReadStream("veg.log"); file.on('readable', function() { var stream = null; while(null !== (stream = file.read())) { stream.toString(); console.log(stream); } }); 有没有人有一个想法是什么导致错误? 日志文件只是纯文本。 为什么这会导致我的缓冲区出现错误,以及如何找出它是哪个缓冲区,以及导致它被错误访问的原因?

如何在Parse Dashboard中查看Parse Server日志?

我正在使用parse-server 2.2.14 , parse-dashboard 1.0.14 。 根据这个合并的拉取请求 ,可以从仪表板查看日志。 但我的仪表板只显示“ No logs in the last 30 days ”,而实际上服务器上有日志。 如何使服务器日志显示在仪表板中? 谢谢

在fluentd中使用多行json

我是新来的stream利。 我有在Docker容器中运行的应用程序。 它们是以JSON格式login的Java应用程序。 JSON消息通常分成多行。 我想使用Docker fluentd日志驱动程序将这些消息发送到一个中央stream利的服务器。 Docker驱动程序分别发送每行到fluentd,所以我需要能够结合这些多行消息。 我正在寻找一些关于如何实现这一目标的指针。 使用开箱即用的configuration我的日志看起来像这样: 20170501T050820+0000 docker.fa5077070a33 {"log":"{\"timestamp\":\"2017-05-01T05:08:20.168Z\", \"applicationName\":\"my-event-publisher\", \"applicationVersion\":\"0.0.6-SNAPSHOT\",","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00","source":"stdout"} 20170501T050820+0000 docker.fa5077070a33 {"container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00","source":"stdout","log":" \"logLevel\":\"INFO\", \"pid\":\"1\", \"threadId\":\"Thread-4\", \"host\":\"fa5077070a33\",","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e"} 20170501T050820+0000 docker.fa5077070a33 {"source":"stdout","log":" \"logger\":\"org.springframework.context.support.DefaultLifecycleProcessor\",","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00"} 20170501T050820+0000 docker.fa5077070a33 {"container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00","source":"stdout","log":" \"message\":\"Stopping beans in phase 2147483647\""} 20170501T050820+0000 docker.fa5077070a33 {"source":"stdout","log":"}","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00"} 我应该以什么顺序来处理? 我需要: 提取每行的“日志”部分 寻找正则expression式/ ^ {“timestamp /来确定消息的开始 将每个日志语句合并为一个 将日志stringparsing为实际的JSON 说实话,我真的不关心fluentd的格式 – 添加时间戳和docker。 我宁愿只是有一个文件与我的JSON消息没有额外的领域由fluentd添加。 我已经看到使用“parsing器”的文档,但正如我所说,我只是不太确定的订单,因为我试图结婚多行JSON。

HAProxy统计在一个特定的时期

我已经build立了HAProxy v1.7,启用了统计function,并且工作正常,收集了所有必要的统计数据,并在网页上显示。 有一个内置的方式来显示特定的一天/一周/一个月/一年的统计数据(特别是字节input/输出)? 我能想到的唯一办法就是每天导出.csv文件并加起来……还有其他的方法吗?