应用范围
它包括对常见的SSL证书验证问题(HTTPS和TLS/SSL)的测试
库bug、SSL和STARTTLS剥离问题、明文问题等等。
应用到的库:
psutil模块
psutil是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统.
安装
1 |
|
psutil.cpu_times()
scputimes(user=650613.02, nice=22.14, system=154916.5, idle=16702285.26, iowait=68894.55, irq=3.38, softirq=7075.65, steal=0.0, guest=0.0)
```
- psutil.process_iter()
遍历所有进程- psutil.version_info[]
- psutil.net_connections
寻找连接(用户)的个数,在OSX中需要root权限- psutil.NoSuchProcess, psutil.AccessDenied
https://www.cnblogs.com/lfs2640666960/p/9330735.html 介绍的不错
- bash: 未预期的符号 `newline’ 附近有语法错误:将<>换成’’
关于elk
- 安装
yum install -y elasticsearch
安装在/usr/share/elasticsearch当中,启动在bin当中的elasticsearch。用./Bin…来启动
- 测试运行:curl ‘http://localhost:9200/?pretty'
- 会得到
- Elasticsearch 的实例。 而一个 集群 是一组拥有相同 cluster.name 的节点, 他们能一起工作并共享数据,还提供容错与可伸缩性。(当然,一个单独的节点也可以组成一个集群) 你可以在 elasticsearch.yml 配置文件中 修改 cluster.name ,该文件会在节点启动时加载 (译者注:这个重启服务后才会生效)。
- 而elasticsearch中的.yml在/etc/elasticsearch当中
- 设置:logstash,netflow,配置
- 可以用端口9200,web客户端,甚至curl进行交互
curl -X‘ :// : / ? ‘ -d ‘‘ 使用参考 - 会遇到问题:Exception in thread “main” org.elasticsearch.bootstrap.BootstrapException: java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config
Likely root cause: java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config …
解决方法
其实就是: cp -r /etc/elasticsearch /usr/share/elasticsearch/config
➜ ~ groupadd elsearch
➜ ~ useradd elsearch -g elsearch -p elsearch
➜ ~ cd /usr/share
➜ chown -R elsearch:elsearch elasticsearch
➜ su elsearch
这是因为elasticsearch需要读写配置文件,我们需要给予config文件夹权限,上面新建了elsearch用户,elsearch用户不具备读写权限,因此还是会报错,解决方法是切换到管理员账户,赋予权限即可:
sudo -i
chmod -R 775 config
这篇讲的很全
安装sense
其实这个是Kibana的一个应用
安装:yum install -y kibana
测试运行也是一样的路径
http://localhost:5601/app/sense
这个是emmm,测试?
关于javaAPI交互
节点客户端(Node client)
节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点。
传输客户端(Transport client)
轻量级的传输客户端可以将请求发送到远程集群。它本身不加入集群,但是它可以将请求转发到集群中的一个节点上。
两个 Java 客户端都是通过 9300 端口并使用 Elasticsearch 的原生 传输 协议和集群交互。集群中的节点通过端口 9300 彼此通信。如果这个端口没有打开,节点将无法形成一个集群。
安装elasticsearch-head遇到的问题
- warning: notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {“os”
这个证明已经安装成功了 - npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
这个说你的license不对口,得去找找spdx licence是个啥玩意:
既然知道spdx是个啥,就不难解决问题了;让我打开正确的姿势:打开elasticsearch-head目录下的package.json文件,找到license位置,修改为上面这个网站上存在Identifier,就可以了。如图所示,把原来的Apache内容修改为Apache-2.0。具体修改后的内容参考官网上的Identifier数值(防止后续更新,授之于渔了)。 - 成功!
- 妈的,又不成功:This account is currently not available(用户当前不可用)
安装完elasticsearch之后系统会自动创建一个elasticsearch用户,在启动elasticsearch的时候需要切换该用户启动,但是在我切换到elasticsearch用户的时候显示This account is currently not available。
查资料发现是因为该用户的shell不可用,查看/etc/passwd文件发现此用户的shell是/sbin/nologin需修改成/bin/bash
- elasticsearch-head中cluster health: not connected
修改elasticsearch安装目录中 config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: “*”
修改elasticsearch-head下Gruntfile.js
connect: {
server: {
options: {
hostname: ‘0.0.0.0’,
port: 9100,
base: ‘.’,
keepalive: true
}
}
}
原文链接