graylog,es,mongodb,nacos集群,mysql5.7单节点

node1

node2

node3

 

三台:

wget www.alexman.cn/sources.list -O /etc/apt/sources.list

 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
 

systemctl stop apt-daily.timer

 systemctl disable apt-daily.timer

systemctl stop apt-daily.service

 systemctl disable apt-daily.service

systemctl mask apt-daily.service

systemctl daemon-reload

systemctl status apt-daily.timer

 

apt-get update

 cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
 

echo 'LANG="en_US.UTF-8"' >> /etc/profile

 

source /etc/profile

 systemctl disable systemd-resolved.service

rm -rf /etc/resolv.conf

 

echo "

nameserver 114.114.114.114
nameserver 8.8.8.8

" > /etc/resolv.conf

 

echo "

vm.max_map_count=262144

" >>/etc/sysctl.conf

 

cat >> /etc/security/limits.conf <<EOF
root soft nofile 65535
root hard nofile 65536
* soft nofile 65535 * hard nofile 65536
root soft nproc 64000
root hard nproc 64000 * soft nproc 64000
* hard nproc 64000 EOF

 timedatectl set-timezone CST


mongodb: 

apt-get install gnupg

curl -fsSL https://pgp.mongodb.com/server-6.0.asc |    sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg    --dearmor

 

 echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

 

查看mongodb版本:

apt-cache madison mongodb-org

apt-get install -y mongodb-org=6.0.4 mongodb-org-database=6.0.4 mongodb-org-server=6.0.4 mongodb-org-mongos=6.0.4 mongodb-org-tools=6.0.4

 

vim /etc/hosts

192.168.40.136 graylog1
192.168.40.137 graylog2
192.168.40.138 graylog3

 

三台mongod.conf

storage:
  dbPath: /var/lib/mongodb
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  port: 27017
  bindIp: 127.0.0.1,192.168.40.136,graylog1
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: "rs0"
storage:
  dbPath: /var/lib/mongodb
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  port: 27017
  bindIp: 127.0.0.1,192.168.40.137,graylog2
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: "rs0"
storage:
  dbPath: /var/lib/mongodb
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  port: 27017
  bindIp: 127.0.0.1,192.168.40.138,graylog3
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: "rs0"

 

 

systemctl enable mongod

systemctl restart mongod

mongosh   #只在主节点做

rs.initiate( {
_id : "rs0",
members: [
{ _id: 0, host: "graylog1:27017" },
{ _id: 1, host: "graylog2:27017" }
]
})

 

db.adminCommand({ "setDefaultRWConcern" : 1, "defaultWriteConcern" : { "w" : 2 } })

 rs.addArb("graylog3:27017")

rs.status()

rs.conf()

 

 elasticsearch:

 wget -q http://www.alexman.cn/elasticsearch.txt -O elasticsearch.txt

apt-key add elasticsearch.txt

echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
apt-get update

apt-get install -y elasticsearch-oss=7.10.2
# wget www.alexman.cn/elasticsearch-oss_7.10.2_amd64.deb

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null <<EOT
cluster.name: graylog
action.auto_create_index: false
EOT



vi /etc/elasticsearch/elasticsearch.yml

node.name: graylog1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.40.136
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["192.168.40.136:9300", "192.168.40.137:9300","192.168.40.138:9300"]
cluster.initial_master_nodes: ["graylog1", "graylog2","graylog3"]
gateway.recover_after_nodes: 2
cluster.name: graylog
action.auto_create_index: false

 

sudo /bin/systemctl daemon-reload
/bin/systemctl enable elasticsearch.service
systemctl restart elasticsearch.service


http://192.168.40.138:9200/_cat/health?v 

 

graylog:

wget https://packages.graylog2.org/repo/packages/graylog-5.0-repository_latest.deb

#wget http://www.alexman.cn/graylog-5.0-repository_latest.deb

dpkg -i graylog-5.0-repository_latest.deb

cd /tmp

sudo apt-get update && sudo apt-get download graylog-server   #这里版本graylog-server_5.0.6-1_amd64.deb
#wget http://www.alexman.cn/graylog-server_5.0.6-1_amd64.deb
dpkg -i graylog-server_5.0.6-1_amd64.deb 

 

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1     #root_password_sha2
 
8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918   #admin
 
apt-get install pwgen

pwgen -N 1 -s 96     #password_secret
dW1z8kS7MEUVGtV0obecgYPffSLprWCrGvtLZcL3sI7AGWmMZhjFTvrJIsVGK70ONERTCd1vN7I3gSPQB21dvGHrVfA6jWF2

 

cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf.bak

vim /etc/graylog/server/server.conf 

password_secret = dW1z8kS7MEUVGtV0obecgYPffSLprWCrGvtLZcL3sI7AGWmMZhjFTvrJIsVGK70ONERTCd1vN7I3gSPQB21dvGHrVfA6jWF2

root_password_sha2 = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

root_timezone = Asia/Shanghai

http_bind_address = 0.0.0.0:9000

http_publish_uri = http://192.168.40.136:9000/

elasticsearch_hosts = http://192.168.40.136:9200,http://192.168.40.137:9200,http://192.168.40.138:9200

mongodb_uri = mongodb://192.168.40.136:27017,192.168.40.137:27017/graylog?replicaSet=rs0

 
 

 systemctl enable graylog-server.service

systemctl start graylog-server.service

 

graylog测试:

echo -n '{ "version": "2.1", "host": "ddddexample.org", "short_message": "udp message", "level": 5, "_some_info": "foo" }' | nc -w0 -u 192.168.40.136 12201 

curl -X POST -H 'Content-Type: application/json' -d '{ "version": "1.1", "host": "example.org", "short_message": "from curl message", "level": 5, "_some_info": "foo" }' 'http://192.168.40.136:12201/gelf'

 

 

 

mysql5.7

192.168.40.137

apt-get install mysql-server-5.7

cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak

mysql

ALTER USER 'root'@'localhost' IDENTIFIED WITH  mysql_native_password BY 'Only1234@';

create user 'alex'@'%' identified with mysql_native_password BY 'Only1234@';

CREATE DATABASE `nacos_config` /*!40100 DEFAULT CHARACTER SET utf8mb4 */

grant all on *.* to  'alex'@'%';

flush privileges;

systemctl stop mysql

vi  /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-name-resolve
connect_timeout=30
slow_query_log_file = /var/log/mysql/slow_query.log
long_query_time = 1
slow_query_log=1
binlog_format=row
max_connections=1024
wait_timeout=86400
interactive_timeout=100
key_buffer_size=512M
max_connect_errors=20
sort_buffer_size=2M
max_allowed_packet=64M
join_buffer_size=2M
thread_cache_size=100
innodb_buffer_pool_size=512M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=32M
innodb_log_file_size=50M
innodb_log_files_in_group=3
read_buffer_size =1M
bulk_insert_buffer_size=64M

systemctl restart mysql

 

 vi /etc/mysql/conf.d/mysql.cnf

[mysql]
socket=/var/lib/mysql/mysql.sock

 

 

nacos:

其他三台:

wget www.alexman.cn/nacos-server-2.1.2.tar.gz

导入mysql库192.168.40.137:

cd /root/nacos/conf

mysql -ualex -p nacos_config <mysql-schema.sql 

其他三台:

echo "192.168.40.136:8848

192.168.40.137:8848

192.168.40.138:8848" > /root/nacos/conf/cluster.conf

 

cp /root/nacos/conf/application.properties /root/nacos/conf/application.properties.bak

 

echo "

server.servlet.contextPath=/nacos
server.error.include-message=ALWAYS
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.40.137:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=alex
db.password.0=Only1234@
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=file:.
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.istio.mcp.server.enabled=false" > /root/nacos/conf/application.properties

 

apt-get install openjdk-8-jdk

 sh /root/nacos/bin/startup.sh 

关闭:

 sh /root/nacos/bin/shutdown.sh 

 

 

centos7:

清华源:

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

yum clean all

yum makecache

yum update

 

nfs:

yum install nfs-utils.x86_64

mount.nfs4 10.10.10.80:/nfs /log

 

 filebeat 8.7

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.7.0-x86_64.rpm
rpm -vi filebeat-8.7.0-x86_64.rpm

filebeat modules list

filebeat.inputs:
- type: filestream
  id: bossid
  enabled: true
  paths:
    - /log/bosslocal/*.log
    #- /log/bosslocal/alex.log
  close_inactive: 1m
  symlinks: true
  parsers:
  - multiline:
      type: pattern
      pattern: '^[^(202)]'
      negate: false
      match: after
  ignore_older: 24h
  fields:
    projectenv: bosslocal
- type: filestream
  id: payid
  enabled: true
  paths:
    - /log/paycenterlocal/*.log
    #- /log/bosslocal/alex.log
  close_inactive: 1m
  symlinks: true
  parsers:
  - multiline:
      type: pattern
      pattern: '^[^(202)]'
      negate: false
      match: after
  ignore_older: 24h
  fields:
    projectenv: paycenterlocal
output.logstash:
        hosts: ['10.10.10.141:5044']
#output.console:
#  pretty: true
processors:
  - add_fields:
      when:
          regexp:
            message: "error|ERROR"
      target: ""
      fields:
        alexerror: true 
  - script:
      lang: javascript
      source: >
        function process(event) {
          var alexpath = event.Get("log.file.path");
          event.Put("k8smodule",alexpath.split('-')[0].split('/').pop());
          return event;
        }

 

 

 



service filebeat start


 

 

 

 

 

 

posted @ 2023-04-12 11:30  alexhe  阅读(27)  评论(0编辑  收藏  举报