『壹』 如何在CentOS 7上安装Elasticsearch,Logstash和Kibana
您的ELK服务器将需要的CPU,RAM和存储量取决于您要收集的日志的卷。在本教程中,我们将使用具有以下规格的VPS用于我们的ELK服务器:OS: CentOS 7RAM: 4GBCPU: 2注:根据自己的服务器资源分配各个节点的资源安装 java 8Elasticsearch和Logstash需要Java,所以我们现在就安装它。我们将安装最新版本的Oracle Java 8,因为这是Elasticsearch推荐的版本。注:建议本地下载完最新版的JDK,然后上传到服务器的/usr/local/src目录# JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads123123然后使用此yum命令安装RPM(如果您下载了不同的版本,请在此处替换文件名):yum -y localinstall jdk-8u111-linux-x64.rpm# orrpm -ivh jdk-8u111-linux-x64.rpm123123现在Java应该安装在/usr/java/jdk1.8.0_111/jre/bin/java,并从/usr/bin/java 链接。安装 ElasticsearchElasticsearch可以通过添加Elastic的软件包仓库与软件包管理器一起安装。运行以下命令将Elasticsearch公共GPG密钥导入rpm:# https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.htmlrpm –import https://artifacts.elastic.co/GPG-KEY-elasticsearch123123在基于RedHat的发行版的/etc/yum.repos.d/目录中创建一个名为elasticsearch.repo的文件,其中包括:echo '[elasticsearch-5.x]name=Elasticsearch repository for 5.x packagesbaseurl=https://artifacts.elastic.co/packages/5.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md' | sudo tee /etc/yum.repos.d/elasticsearch.repo123456789123456789Elasticsearch 源创建完成之后,通过makecache查看源是否可用,然后通过yum安装Elasticsearch :yum makecacheyum install elasticsearch -y1212要将Elasticsearch配置为在系统引导时自动启动,请运行以下命令:sudo /bin/systemctl daemon-reloadsudo /bin/systemctl enable elasticsearch.service1212Elasticsearch可以按如下方式启动和停止:sudo systemctl start elasticsearch.servicesudo systemctl stop elasticsearch.service1212这些命令不会提供有关Elasticsearch是否已成功启动的反馈。相反,此信息将写入位于/ var / log / elasticsearch /中的日志文件中。默认情况下,Elasticsearch服务不会记录systemd日志中的信息。要启用journalctl日志记录,必须从elasticsearch中的ExecStart命令行中删除–quiet选项。服务文件。# 注释24行的 –quiet \vim /etc/systemd/system/multi-user.target.wants/elasticsearch.service1212当启用systemd日志记录时,使用journalctl命令可以获得日志记录信息:使用tail查看journal:sudo journalctl -f11要列出elasticsearch服务的日记帐分录:sudo journalctl –unit elasticsearch11要从给定时间开始列出elasticsearch服务的日记帐分录:sudo journalctl –unit elasticsearch –since "2017-1-4 10:17:16"# since 表示指定时间之前的记录123123使用man journalctl 查看journalctl 更多使用方法检查Elasticsearch是否正在运行您可以通过向localhost上的端口9200发送HTTP请求来测试Elasticsearch节点是否正在运行:curl -XGET 'localhost:9200/?pretty'1212我们能得到下面这样的回显:{"name" : "De-LRNO","cluster_name" : "elasticsearch","cluster_uuid" : "DeJzplWhQQK5uGitXr8jjA","version" : {"number" : "5.1.1","build_hash" : "5395e21","build_date" : "2016-12-06T12:36:15.409Z","build_snapshot" : false,"lucene_version" : "6.3.0"},"tagline" : "You Know, for Search"}配置 ElasticsearchElasticsearch 从默认的/etc/elasticsearch/elasticsearch.yml加载配置文件, 配置文件的格式考: https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html[[email protected] ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml [[email protected] ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.ymlnode.name: node-1path.data: /var/lib/elasticsearchpath.logs: /var/log/elasticsearchnetwork.host: 10.1.1.53 # 默认localhost,自定义为iphttp.port: 920012345671234567RPM还具有系统配置文件(/etc/sysconfig/elasticsearch),允许您设置以下参数:[[email protected] elasticsearch]# egrep -v "^#|^$" /etc/sysconfig/elasticsearch ES_HOME=/usr/share/elasticsearchJAVA_HOME=/usr/java/jdk1.8.0_111CONF_DIR=/etc/elasticsearchDATA_DIR=/var/lib/elasticsearchLOG_DIR=/var/log/elasticsearchPID_DIR=/var/run/elasticsearch12345671234567日志配置Elasticsearch使用Log4j 2进行日志记录。 Log4j 2可以使用log4j2配置。属性文件。 Elasticsearch公开单个属性$ {sys:es。日志},可以在配置文件中引用以确定日志文件的位置;这将在运行时解析为Elasticsearch日志文件的前缀。例如,如果您的日志目录是/var/log/elasticsearch并且您的集群名为proction,那么$ {sys:es。 logs}将解析为/var/log/elasticsearch/proction。默认日志配置存在:/etc/elasticsearch/log4j2.properties安装 KibanaKibana的RPM可以从ELK官网或从RPM存储库下载。它可用于在任何基于RPM的系统(如OpenSuSE,SLES,Centos,Red Hat和Oracle Enterprise)上安装Kibana。导入Elastic PGP Key我们使用弹性签名密钥(PGP密钥D88E42B4,可从https://pgp.mit.e)签名所有的包,指纹:rpm –import https://artifacts.elastic.co/GPG-KEY-elasticsearch11创建kibana源echo '[kibana-5.x]name=Kibana repository for 5.x packagesbaseurl=https://artifacts.elastic.co/packages/5.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md' | sudo tee /etc/yum.repos.d/kibana.repo123456789123456789kibana源创建成功之后,makecache后使用yum安装kibana:yum makecache && yum install kibana -y11使用systemd运行Kibana要将Kibana配置为在系统引导时自动启动,请运行以下命令:sudo /bin/systemctl daemon-reloadsudo /bin/systemctl enable kibana.service1212Kibana可以如下启动和停止sudo systemctl start kibana.servicesudo systemctl stop kibana.service1212配置KibanaKibana默认从/etc/kibana/kibana.yml文件加载其配置。 参考:https://www.elastic.co/guide/en/kibana/current/settings.html注意:本实验教程把localhost都改成服务器IP,如果不更改localhost,需要设置反向代理才能访问到kibana。在同一服务器上安装一个Nginx反向代理,以允许外部访问。安装nginx配置Kibana在localhost上监听,必须设置一个反向代理,允许外部访问它。本文使用Nginx来实现发向代理。创建nginx官方源来安装nginx# https://www.nginx.com/resources/wiki/start/topics/tutorials/install/echo '[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=1' | sudo tee /etc/yum.repos.d/nginx.repo1234567812345678使用yum安装nginx和httpd-toolsyum install nginx httpd-tools -y11使用htpasswd创建一个名为“kibanaadmin”的管理员用户(可以使用其他名称),该用户可以访问Kibana Web界面:[[email protected] ~]# htpasswd -c /etc/nginx/htpasswd.users kibanaadminNew password: # 自定义Re-type new password: Adding password for user kibanaadmin12341234使用vim配置nginx配置文件[[email protected] ~]# egrep -v "#|^$" /etc/nginx/conf.d/kibana.conf server {listen 80;server_name kibana.aniu.co;access_log /var/log/nginx/kibana.aniu.co.access.log main;error_log /var/log/nginx/kibana.aniu.co.access.log;auth_basic "Restricted Access";auth_basic_user_file /etc/nginx/htpasswd.users;location / {proxy_pass http://localhost:5601;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'upgrade';proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;}}
『贰』 Linux grep、egrep使用命令详解
grep egrep区别 grep 默认不支持扩展 但可以通过-E 选择来支持扩展正则 egrep 支持扩展正则
关于正则与扩展正则的区别可以看我另一篇shell 正则的介绍 文件处理顺序 以行为单位,逐行进行处理 默认只输出与表达式相匹配的文本行
基本用法 – 格式1:egrep [选择] '正则表达式' 文件 – 格式2:前置命令 | egrep [选择] '正则表达式'
• egrep命令工具 (扩展正则命令)
• 常用命令选项
•grep 正则表达式,用来查找过滤文档的工具符号 grep “root” user //在user文档中查找有单词root的行 grep “^root” user //在user文档中查找以单词root开头的行 grep “bash ” user //查找空行 grep “^ ” user //查找以空格开头的行 grep “[rot]” user //查找字母r或者o或者t grep “roo[tn]” user //查找root或者roon grep “[^rot]” user //查找字母r或者o或者t之外的内容 grep “[a-z]” user //查找小写字母 grep “[A-Z]” user //查找大写字母 grep “[a-Z]” user //查找所有字母 grep “[0-9]” user //查找数字
grep “r..t” user //查找以r开头t结尾中间有2个任意字符的单词 grep “r. ” user //查找以r开头后面任意字符 相当手通配符 grep “ro*” user //查找以r开头后面有或没有字母o的单词,o可以出现任意次 grep “o{1,2}” user //查找o出现1次到2次的行 grep “o{2,3}” user //查找o出现2次到3次的行 grep “o{2}” user //查找o出现2次的行 grep “o{1,} ” user //查找o出现1次以及1次以上 grep “(:0){2}” user //查找:0(数字零)连续出现2次的行 扩展正则 egrep “o+” user //查找o出现1次以及1次以上 egrep “o?” user //查找o出现0次或1次 egrep “o{1,2}” user //查找o出现1次到2次的行 egrep “o{2,3}” user //查找o出现2次到3次的行 egrep “o{2}” user //查找o出现2次的行 egrep “o{1,}” user //查找o出现1次以及1次以上 egrep “(:0){2}” user //查找:0(数字零)连续出现2次的行 egrep “bash|nologin” user //查找bash或者nologin egrep “the” a //查找单词the,前后是空格或者特殊符号
案例: 正则表达式匹配练习 1)典型的应用场合:grep、egrep检索文本行 grep命令不带-E选项时,支持基本正则匹配模式。比如“word”关键词检索、“^word”匹配以word开头的行、“word$”匹配以word结尾的行……等等。 输出以“r”开头的用户记录:
输出以“localhost”结尾的行:
若希望在grep检索式同时组合多个条件,比如输出以“root”或者以“daemon”开头的行:
而若若使用grep -E或egrep命令,可支持扩展正则匹配模式,能够自动识别 |、{} 等扩展正则表达式中的特殊字符,用起来更加方便,比如:
或者
使用grep -E 与 使用egrep命令完全等效,推荐使用后者,特别是涉及到复杂的正则表达式的时候。 2)grep、egrep命令的-q选项 选项 -q 表示 quiet(静默)的意思,结合此选项可以只做检索而并不输出,通常在脚本内用来识别查找的目标是否存在,通过返回状态 $? 来判断,这样可以忽略无关的文本信息,简化脚本输出。 比如,检查/etc/hosts文件内是否存在192.168.4.4的映射记录,如果存在则显示“YES”,否则输出“NO”,一般会执行:
这样grep的输出信息和脚本判断后的提示混杂在一起,用户不易辨别,所以可以改成以下操作:
是不是清爽多了,从上述结果也可以看到,使用 -q 选项的效果与使用 &> /dev/null的效果类似。 3)基本元字符 ^、$ —— 匹配行首、行尾 输出注释的配置行(以#开头的行):
统计本地用户中登录Shell为“/sbin/nologin”的用户个数: 提示: -m10仅在文件的前10行中过滤,后面的行不再过滤。
结合 -c 选项输出匹配的行数
使用 -c 选项可输出匹配行数,这与通过管道再 wc -l的效果是相同的,但是写法更简便。比如,统计使用“/bin/bash”作为登录Shell的正常用户个数,可执行:
或者
4)基本元字符 . —— 匹配任意单个字符 以/etc/rc.local文件为例,确认文本内容:
输出/etc/rc.local文件内的空行(用 –v 选项将条件取反):
5)基本元字符 +、?、 —— 目标出现的次数* 还以/etc/rc.local文件为例:
输出包括 f、ff、ff、……的行,即“f”至少出现一次:
输出包括init、initial的行,即末尾的“ial”最多出现一次(可能没有):
输出包括stu、stuf、stuff、stufff、……的行,即末尾的“f”可出现任意多次,也可以没有。重复目标只有一个字符时,可以不使用括号:
输出所有行,单独的“.*”可匹配任意行(包括空行):
输出/etc/passwd文件内“r”开头且以“nologin”结尾的用户记录,即中间可以是任意字符:
6)元字符 {} —— 限定出现的次数范围 创建一个练习用的测试文件:
输出包括ababab的行,即“ab”连续出现3次:
输出包括abab、ababab、abababab的行,即“ab”连续出现2~4次:
输出包括ababab、abababab、……的行,即“ab”最少连续出现3次:
7)元字符 [] —— 匹配范围内的单个字符 还以前面的测试文件bracet.txt为例:
输出包括abc、abd的行,即前两个字符为“ab”,第三个字符只要是c、d中的一个就符合条件:
输出包括大写字母的行,使用[A-Z]匹配连续范围:
8)单词边界匹配 以文件/etc/rc.local为例:
输出包括单词“init”的行,文件中“initialization”不合要求:
或者:
输出包括以“ll”结尾的单词的行,使用 > 匹配单词右边界:
或者:
9)多个条件的组合 通过dmesg启动日志查看蓝牙设备、网卡设备相关的信息:
『叁』 linux系统下怎样查看机器有几块网卡
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
『肆』 如何在LINUX中给一块网卡绑定两个IP地址
Linux的网络设备配置文件存放在/etc/sysconfig/network-scripts里面,对于以太网的第一个网络设备,配版置文件名一般为 ifcfg-eth0 如果需权要为第一个网络设备绑定多一个IP地址,只需要在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,内容样例为: DEVICE="eth0:0" IPADDR="211.100.10.11Array" NETMASK="255.255.255.0" ONBOOT="yes" 其中的DEVICE为设备的名称,IPADDR为此设备的IP地址,NETMASK为子网掩码,ONBOOT表示在系统启动时自动启动。 如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:x加一即可。
『伍』 etc是什麽文件的扩展名啊
3. 网络配置文件 3.1 /etc/hosts #/etc/hosts #文件格式: IPaddress hostname aliases #文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机 # 加入此文件中,也可将没有DNS记录的机器加入到此文件中, # 这样会方便网络应用 127.0.0.1 localhost localhost.localdomain 202.118.66.81 helius.dlut.e.cn helius 3.2 /etc/resolv.conf 文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名 相关文件:/etc/host.conf 文件格式: domainname 域名 search 域名 nameserver Primary_DNS_Server_IP_address nameserver Second_DNS_Server_IP_address 其中domainname和search可同时存在,也可只有一个;nameserver可指定多个 示例文件内容: search dlut.e.cn nameserver 202.118.66.6 3.3 /etc/host.conf 功能:指定主机名查找方法,通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。 对于大多数用户不用改动此文件内容。 Linux: /etc/host.conf文件内容 order hosts, bind multi on Soalris: /etc/nsswitch.conf 中的hosts项 hosts files, dns 3.4 /etc/HOSTNAME ( Linux Redhat 5.x Distribution) 功能:设置主机名,不同LINUX之间可能有所差别,请使用 egrep hostname /etc/rc.d/init.d/* 或 egrep hostname /etc/init.d/* 查找相应版本上的主机名设置文件及方法。 Linux Redhat 5.x对应文件: /etc/sysconfig/network的HOSTNAME项。 3.5 /etc/inetd.conf Internet 超级服务器, 相关程序: /usr/sbin/inetd 相应服务: telnet ftp pop3 r* rsh rcp rlogin (建议最好关闭r服务) 其他服务最好关掉