graylog,es,mongodb,nacos集群,mysql5.7单节点
node1
node2
node3
三台:
wget www.alexman.cn/sources.list -O /etc/apt/sources.list
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
echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile
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
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