BigOps自动化

                                  BigOps  

机器能做的,就不要让人去做,自动化一切重复的工作
官网:www.bigops.com

一 具体介绍

BigOps的特性
在这里插入图片描述
这里是它的社区版,具体功能如下
在这里插入图片描述

1.1BigOps 开发语言


前端采用iview+VUE

后端采用JAVA

数据存储采用MySQL+Elastic

插件Shell、Python、go都可以,无限制

配置管理采用Ansible

1.2功能特点


统一运维门户
支持接入企业内部原有系统,解决用户在各子系统中来回跳转访问问题。

开源软件接入
支持广泛的开源软件,接入统一认证SSO系统,包括Zabbix、Jira、Jenkins、confluence、GitLab等,还在不断增加中。

千人千面控制台
每个用户都拥有自己独立的控制台,可以按照自己的偏好定义,包括桌面背景图片、图标样式、图标位置、图标是否显示等。
还可以定义自己的快捷按键,随心所欲的想去哪里就去哪里。

资源管理
需要管理的对象皆为资源,包括主机、服务器、交换机、路由器、防火墙、配件、用户、IP等。
支持模型控件方式的灵活方式,可以自由定义资源属性。
支持多云主机资源导入,让所有资源在一个平台统一管理,极大的建议维护工作。

监控系统
和Zabbix的深度整合,未来还会支持OpenFalcon。

增加了主机组方式显示主机监控状态。
增加了服务树方式显示主机监控状态。
增加了接口方式的显示大屏。
增加了告警中心。(马上支持)
主机管理
强大主机管理和主机备份功能。通过Web就可以查看和管理。
支持查看:
Linux内核参数
Linux crontab
Linux运行状态
支持备份:
Linux系统文件
网络设备配置

运维工单
支持简单的运维工单。如果要使用复杂的工单,建议使用钉钉或者微信。

通知方式
支持系统消息、邮件、短信、企业微信、钉钉的通知方式。应该是最全的了:)

权限管理
支持用户角色的权限管理,颗粒度细化到每个按钮。
全局统一设置,不用切换各个后台之间。

二 安装配置

2.1 安装之前的准备工作

硬件配置
建议物理内存8G+CPU 4 cores+、硬盘20G+
操作系统支持
1台全新操作系统主机,理论上支持所有Linux操作系统,建议使用:
CentOS 6 x86 64CentOS 7 x86 64(推荐)
所安装使用服务的对应端口
服务端口
统一认证	3000030001
work后端	3000230003
confluence	3000830009
jira	3001030011
jenkins	3001230013
kibana	5601
cerebro	9000
elasticsearch	92009300

准备两个域名,此域名可以随意

2个域名
sso.xxxx.com,用于统一认证

work.xxxx.com,用于主站

如果没有注册域名,需要给服务器和笔记本都配置hosts。

Linux位置/etc/hosts。

Windows位置C:\Windows\System32\drivers\etc\hosts,如果不能直接编辑,可以先拷贝到桌面,编辑完在拷贝回原位置。

配置内容,例如:

192.168.100.2 sso.bigops.com (换成你服务器IP和你自己的域名)

192.168.100.2 work.bigops.com (换成你服务器IP和你自己的域名)

切记2个域名都要设置!切记!切记!切记!

切记服务器和你的笔记本都要设置!切记!切记!切记!

主机名可以ping通
查看主机名

hostname

ping主机名

ping xxxxxxx

如果能ping通就是正常,如果ping不通就需要在/etc/hosts里加一行

127.0.0.1 xxxxxxx(换成你服务器的主机名)

2.2 初始化环境

一定要运行初始化脚本

cd ~
#这是它的环境配置脚本,下载后,自动配置
wget -O centos_init_env.sh http://www.bigops.com/bigops-install/centos_init_env.sh
sh centos_init_env.sh

2.3 关闭ipv6(可选)

针对ipv6

centos 7
编辑/etc/default/grub,在GRUB_CMDLINE_LINUX的值里添加ipv6.disable=1,例如:

GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet idle=halt biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8 noibrs"

再运行命令
#运行grub2-mkconfig命令
grub2-mkconfig -o /boot/grub2/grub.cfg
#重构其
reboot

#Centos6下的配置

centos 6
cat <<EOF>>/etc/modprobe.d/disable_ipv6.conf
alias net-pf-10 off
alias ipv6 off
options ipv6 disable=1
EOF

echo 'alias ipv6 off' >/etc/modprobe.d/ipv6.conf
sed -i '/NETWORKING_IPV6.*/d' /etc/sysconfig/network
echo 'NETWORKING_IPV6=no' >> /etc/sysconfig/network
service ip6tables stop
chkconfig ip6tables off

#Centos6 和Centos7统一需要重启系统
重启系统
reboot

2.4 查看openssh版本是否大于5.6

#查看命令
sshd -V

可能会遇到的问题:

#如果ssh不能登录,请用telnet登录并重新安装openssh。
#如果ssh可以登录,centos 6关闭telnet,centos 7不做任何操作。
#centos 6关闭telnet
chkconfig telnet off
chkconfig xinetd off
service xinetd stop
mv /etc/securetty.bak /etc/securetty

三 配置安装

3.1解压安装包

#把下载的bigops-x.x.x-install.tar.gz文件放到/opt目录,然后解压
cd /opt/
tar zxvf bigops-x.x.x-install.tar.gz

3.2 安装mysql服务

我们可以安装mysql8.0版本
 也可以安装mysql5.7版本
这里推荐安装MySQL 8.0

3.2.1 mysq.8.0方式一 安装

脚本安装
wget -O mysql80.sh http://www.bigops.com/bigops-install/mysql80.sh
sh mysql80.sh
#看到下面提示,输入root@127.0.0.1用户密码,保存好一会使用。
#另外root@localhost密码为空
please input root@127.0.0.1 password, default bigops

>输入你的密码

优化MySQL,修改/etc/my.cnf里innodb_buffer_pool_size的值,用命令计算:
说明:BigOps系统占用4G,所以innodb_buffer_pool_size等于总内存减去4G后的70%80%
free -g|egrep -i ^mem|awk '{if($2<7) print "memory is too small";else print int(($2-4)*0.8)"G"}'
比如上面命令返回8G,就这样设置:

innodb_buffer_pool_size=8G
修改完后需要重启MySQL

3.2.2、 mysql8.0手动安装方式2

#添加yum安装源

wget -O /etc/yum.repos.d/mysql80-community.repo http://www.bigops.com/yum.repos.d/mysql80-community.repo

安装MySQL

yum -y install mysql-community-server mysql-community-client mysql-community-devel mysql-community-libs-compat
优化配置文件

wget -O /etc/my.cnf http://www.bigops.com/bigops-install/mysql/my-80.cnf

chown -R mysql:mysql /var/lib/mysql

优化MySQL,修改/etc/my.cnf里innodb_buffer_pool_size的值,用命令计算:

说明:BigOps系统占用4G,所以innodb_buffer_pool_size等于总内存减去4G后的70%80%

free -g|egrep -i ^mem|awk '{if($2<7) print "memory is too small";else print int(($2-4)*0.8)"G"}'

比如上面命令返回8G,就这样设置:

innodb_buffer_pool_size=8G

#修改完后需要重启MySQL
#初始化目录,会丢失以前的数据,确认当前数据是否有用,再进行操作

mysqld --user=mysql --lower-case-table-names=0 --initialize-insecure

#root默认口令为空。如果启动失败,有可能basedir有以前的残留文件,需要删除。

#登录MySQL

mysql -uroot -p

#取消密码复杂度,有的小版本有,有的小版本没这些变量,没有就忽略

set global validate_password.policy=0;

set global validate_password.mixed_case_count=0;

set global validate_password.number_count=0;

set global validate_password.special_char_count=0;

set global validate_password.length=6;

#修改root@localhost密码,your_password改成你的密码

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password' PASSWORD EXPIRE NEVER;

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

#添加用户root@127.0.0.1,给用户授权,重要!重要!重要!

create user 'root'@'127.0.0.1' identified by 'your_password';

grant all privileges on *.* to 'root'@'127.0.0.1';

flush privileges;

#重启MySQL

service mysqld restart

3.2.3 MySQL 5.7脚本安装

#下载脚本
wget -O mysql57.sh http://www.bigops.com/bigops-install/mysql57.sh
#运行
sh mysql57.sh

#看到下面提示,输入root@127.0.0.1用户密码,保存好一会使用。另外root@localhost密码为空

please input root@127.0.0.1 password, default bigops

>输入你的密码

#优化MySQL,修改/etc/my.cnf里innodb_buffer_pool_size的值,用命令计算:

#说明:BigOps系统占用4G,所以innodb_buffer_pool_size等于总内存减去4G后的70%到80%

free -g|egrep -i ^mem|awk '{if($2<7) print "memory is too small";else print int(($2-4)*0.8)"G"}'

#比如上面命令返回8G,就这样设置:

innodb_buffer_pool_size=8G

#修改完后需要重启MySQL

3.2.4手动安装

#添加yum安装源

wget -O /etc/yum.repos.d/mysql-community.repo http://www.bigops.com/yum.repos.d/mysql-community.repo

#安装MySQL

yum -y install mysql-community-server mysql-community-client mysql-community-devel mysql-community-libs-compat

#优化的配置文件

wget -O /etc/my.cnf http://www.bigops.com/bigops-install/mysql/my-57.cnf

chown -R mysql:mysql /var/lib/mysql

#优化MySQL,修改/etc/my.cnf里innodb_buffer_pool_size的值,用命令计算:

#说明:BigOps系统占用4G,所以innodb_buffer_pool_size等于总内存减去4G后的70%到80%

free -g|egrep -i ^mem|awk '{if($2<7) print "memory is too small";else print int(($2-4)*0.8)"G"}'

#比如上面命令返回8G,就这样设置:

innodb_buffer_pool_size=8G

#修改完后需要重启MySQL
#
#初始化目录,会丢失以前的数据,确认当前数据是否有用,再进行操作

mysqld --user=mysql --lower-case-table-names=0 --initialize-insecure

#root默认口令为空。如果启动失败,有可能basedir有以前的残留文件,需要删除。

#登录MySQL
mysql -uroot -p

#取消密码复杂度,有的小版本有,有的小版本没这些变量,没有就忽略

set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=0;
set global validate_password_special_char_count=0;
set global validate_password_length=6;

#修改root@localhost密码,your_password改成你的密码

use mysql;
grant all privileges on *.* to "root"@"localhost" identified with mysql_native_password by "your_password";

#添加root@127.0.0.1用户,your_password改成你的密码。重要!重要!重要!

grant all privileges on *.* to "root"@"127.0.0.1" identified with mysql_native_password by "your_password";

flush privileges;

重启MySQL

service mysqld restart

我这里安装的是mysql8.0

3.3 安装ELk配置

这里确认是否java 版本的是1.8以及之上
如果不是
那么需要进行安装Java

yum install java-1.8*

正式开始

组件及对应端口
服务	端口
elasticsearch	92009300
cerebro	9000
Kibana	5601

3.3.1安装elasticsearch

cd ~
wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz

tar zxvf elasticsearch-7.5.1-linux-x86_64.tar.gz

mv elasticsearch-7.5.1 /opt/es

useradd es -d /opt/es

mkdir -p /opt/es_data /opt/es_logs

chown -R es:es /opt/es_data /opt/es_logs /opt/es

wget -O /opt/es/config/elasticsearch.yml http://www.bigops.com/bigops-install/elk/elasticsearch.yml

编辑/opt/es/config/elasticsearch.yml文件,修改相关配置

在这里插入图片描述

编辑/opt/es/config/jvm.options,根据你内存情况进行修改

-Xms4g
-Xmx4g

注释下面3#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly

添加2-XX:+UseG1GC
-XX:MaxGCPauseMillis=200

** 设置随机自启动**

centos 7

wget -O /usr/lib/systemd/system/es.service http://www.bigops.com/bigops-install/elk/es.service
systemctl enable es
systemctl daemon-reload
sysctl -p
ulimit -SHn 655360
systemctl restart es.service

centos 6

wget -O /etc/init.d/es http://www.bigops.com/bigops-install/elk/es
chmod +x /etc/init.d/es
chkconfig --add es
chkconfig --level 345 es on
sysctl -p
ulimit -SHn 655360
service es restart

检查服务是否正常

#netstat -nptl|grep 9[2,3]00

tcp 0 0 192.168.50.51:9200 0.0.0.0:* LISTEN 4760/java
tcp 0 0 192.168.50.51:9300 0.0.0.0:* LISTEN 4760/java

设置es密码

./bin/elasticsearch-setup-passwords interactive

根据提示输入密码,设置完重启es服务。
注意:
如果是在公网服务器的化,一般设置的为它的内网IP,这样才可以设置密码成功

elasticsearch启动时遇到的错误

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;
解决:
切换到root用户
执行命令:
sysctl -w vm.max_map_count=262144
查看结果:
sysctl -a|grep vm.max_map_count
显示:
vm.max_map_count = 262144
上述方法修改之后,如果重启虚拟机将失效,所以:

解决办法:
在   /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
即可永久修改

3.3.2安装kibana

yum -y install nodejs npm git bzip2

wget -c https://artifacts.elastic.co/downloads/kibana/kibana-7.5.1-linux-x86_64.tar.gz

tar zxvf kibana-7.5.1-linux-x86_64.tar.gz

mv kibana-7.5.1-linux-x86_64 /opt/kibana

wget -O /opt/kibana/config/kibana.yml http://www.bigops.com/bigops-install/elk/kibana.yml

编辑/opt/kibana/config/kibana.yml
在这里插入图片描述

随机自动启

centos 7

wget -O /usr/lib/systemd/system/kibana.service http://www.bigops.com/bigops-install/elk/kibana.service

systemctl enable kibana

systemctl daemon-reload

systemctl restart kibana.service

centos 6

wget -O /etc/init.d/kibana http://www.bigops.com/bigops-install/elk/kibana

chmod +x /etc/init.d/kibana

chkconfig --add kibana

chkconfig --level 345 kibana on

service kibana restart

登陆kibana
使用域名+端口方式访问,比如:work.bigops.com:5601,会显示kibana登录页面

创建ES索引模板 如图

在这里插入图片描述

PS
执行的域名在这里
www.bigops.com/bigops-install/create_es_index.txt

3.3.3安装cerebro(可选)
#安装

wget -c https://github.com/lmenezes/cerebro/releases/download/v0.8.4/cerebro-0.8.4.tgz

tar zxvf cerebro-0.8.4.tgz

mv cerebro-0.8.4 /opt/cerebro

编辑/opt/cerebro/conf/application.conf文件

在这里插入图片描述

开机启动设置

centos 7设置

wget -O /usr/lib/systemd/system/cerebro.service http://www.bigops.com/bigops-install/elk/cerebro.service

chmod -R 777 /opt/cerebro/bin/

systemctl enable cerebro

systemctl daemon-reload

systemctl restart cerebro.service

centos 6设置

wget -O /etc/init.d/cerebro http://www.bigops.com/bigops-install/elk/cerebro

chmod -R 777 /opt/cerebro/bin/

chmod +x /etc/init.d/cerebro

chkconfig --add cerebro

chkconfig --level 345 cerebro on

service cerebro restart

PS
忘记elasticsearch密码,重置密码

按下述步骤创建本地超级账户,然后使用api接口重置elastic账户的密码

(1) 停止elasticsearch服务

(2) 使用命令ES_HOME/bin/x-pack/users创建一个基于本地问价认证的超级管理员

./bin/elasticsearch-users useradd my_admin -p my_password -r superuser

(3) 启动elasticsearch服务

(4) 通过api重置elastic超级管理员的密码

curl -u my_admin -XPUT 'http://localhost:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d'
{

"password" : "new_password"

}

(5) 校验密码是否重置成功

curl -u elastic 'http://localhost:9200/_xpack/security/_authenticate?pretty'

3.4安装Logstash

安装logstash

cd ~

wget -c https://artifacts.elastic.co/downloads/logstash/logstash-7.5.1.tar.gz

tar zxvf logstash-7.5.1.tar.gz

mv logstash-7.5.1 /opt/logstash

wget -O /opt/logstash/config/syslog.conf http://www.bigops.com/bigops-install/elk/syslog.conf

修改配置文件/opt/logstash/config/syslog.conf
在这里插入图片描述

运行logstash

/opt/logstash/bin/logstash -f /opt/logstash/config/syslog.conf

手动打条测试日志

logger -i -t "my_test" -p local3.notice "test_info"


客户端修改rsyslog.conf,最后加一行,xxx.xxx.xxx.xxx写上logstash服务器IP

vi /etc/rsyslog.conf

*.notice @@xxx.xxx.xxx.xxx:3514

重启rsyslog

service rsyslog restart (centos 6)

systemctl restart rsyslog (centos 7)

kibana查看是否有syslog数据进来

在这里插入图片描述

创建Kibana索引模式
在这里插入图片描述

查看索引文档

在这里插入图片描述

四最后安装

4.1配置BigOps

压缩包解压后

#运行安装脚本
cd /opt/bigops-x.x.x-install/install/
sh install.sh

根据提示填写相关信息,设置完后服务会自动启动。
dbhost不要填localhost,填127.0.0.1或对应IP
在这里插入图片描述

BigOps系统会被安装到/opt/bigops目录
检查数据库大小写敏感
bigops库这几个表名必须驼峰命名(大小写组合),如果表名都是小写就有问题

在这里插入图片描述

检查服务端口是否启动

#netstat -nptl|egrep 3000

tcp 0 0 127.0.0.1:30000 0.0.0.0:* LISTEN 32346/java

tcp 0 0 127.0.0.1:30001 0.0.0.0:* LISTEN 32346/java

tcp 0 0 127.0.0.1:30002 0.0.0.0:* LISTEN 26830/java

tcp 0 0 127.0.0.1:30003 0.0.0.0:* LISTEN 26830/java
检查Nginx域名是否配置正确
cat /etc/nginx/conf.d/sso.conf

cat /etc/nginx/conf.d/work.conf

重启Nginx并检查状态
service nginx restart 或 systemctl restart nginx

ps aux|grep nginx.conf

检查sso服务是否正常
curl -q 127.0.0.1:30001/signin/login 2>/dev/null |grep sso
如果返回值包括「sso系统正常」,说明运行正常,如果没有返回值说明有问题,需要详细检查数据库配置。
检查work服务是否正常
curl 127.0.0.1:30003/api/common/ssourl/
如果返回「message」为ok就是正常

登录系统

访问域名:http://work.bigops.com (就是你刚才设置的home url)

默认账号:admin

默认密码:bigops
登陆后请尽快修改密码。

启动bigserver,bigserver服务用于执行一些内置任务

/opt/bigops/bigserver/stop (关闭)

/opt/bigops/bigserver/start (启动)

bigserver配置文件位置/opt/bigops/bigserve/bigserver.properties

设置定时清理日志

crontab -e

00 01 * * * /bin/sh /opt/bigops/bin/clean_log.sh

开机自启动

#centos 6的配置
wget -O /etc/init.d/bigweb http://www.bigops.com/bigops-install/bigweb
chkconfig --add bigweb
chkconfig --level 345 bigweb on

wget -O /etc/init.d/bigserver http://www.bigops.com/bigops-install/bigserver
chkconfig --add bigserver
chkconfig --level 345 bigserver on
chkconfig --level 345 nginx on
chkconfig --level 345 mysqld on

#centos 7的配置

wget -O /usr/lib/systemd/system/bigweb.service http://www.bigops.com/bigops-install/bigweb.service
systemctl enable bigweb
chmod 754 /usr/lib/systemd/system/bigweb.service

wget -O /usr/lib/systemd/system/bigserver.service http://www.bigops.com/bigops-install/bigserver.service
systemctl enable bigserver
chmod 754 /usr/lib/systemd/system/bigserver.service
systemctl enable nginx
systemctl enable mysqld

登陆后,打开时这个界面
在这里插入图片描述

具体的研究,在下一次的,还有有惊喜的。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值