vigil 可以方便的进行服务的监控,以下尝试制作一个rpm 包,方便使用

安装依赖

  • ruby
   yum -y install ruby rubygems ruby-devel 
  • 修改gem 源

    可选,如果网络访问没有问题的话

gem sources -a http://mirrors.aliyun.com/rubygems/
gem sources --remove http://rubygems.org/
 

查看修改后的

gem source list
  • 安装fpm

    可能会有json 的问题,如果有问题,可以自己安装下

gem install fpm

vigil rpm 构建

  • 项目结构
├── res
├── vigil
├── vigil.cfg
├── vigil.service
  • 说明
res 是vigil 的模版以及静态资源
vigil 是编译好的linux 二进制文件
vigil.cfg  是一个demo 配置
vigil.service 是使用systemd 管理的service
  • 我们rpm的目标
    安装完成rpm 包之后vigil.cfg 到/etc/目录
    vigil 二进制文件到 /usr/bin
    vigil.service systemd service 文件到 /usr/lib/systemd/system/vigil.service
    res 到 /etc/vigil 目录
  • 使用的命令
 
fpm -s dir -t rpm -n vigil --config-files /etc/vigil.cfg -v v1.4 \
  ./vigil=/usr/bin/ \
  ./vigil.cfg=/etc/ \
  ./res=/etc/vigil/ \
  ./vigil.service=/usr/lib/systemd/system/vigil.service
 

说明:

因为我们制作的是rpm 包,所以t 为rpm -s 指定为dir ,使用配置映射,达到我们上边说到的目的
  • 执行效果
fpm -s dir -t rpm -n vigil --config-files /etc/vigil.cfg -v v1.4 \
> ./vigil=/usr/bin/ \
> ./vigil.cfg=/etc/ \
> ./res=/etc/vigil/ \
> ./vigil.service=/usr/lib/systemd/system/vigil.service
Created package {:path=>"vigil-v1.4-1.x86_64.rpm"}
  • 查看rpm 的效果
    使用 rpm2cpio
 
rpm2cpio vigil-v1.4-1.x86_64.rpm |cpio -ivd
./etc/vigil.cfg
./etc/vigil/res/assets/fonts/open_sans/open_sans_bold.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_bold.woff2
./etc/vigil/res/assets/fonts/open_sans/open_sans_light.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_light.woff2
./etc/vigil/res/assets/fonts/open_sans/open_sans_regular.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_regular.woff2
./etc/vigil/res/assets/fonts/open_sans/open_sans_semibold.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_semibold.woff2
./etc/vigil/res/assets/images/badges/color-dead-default.svg
./etc/vigil/res/assets/images/badges/color-healthy-default.svg
./etc/vigil/res/assets/images/badges/color-sick-default.svg
./etc/vigil/res/assets/images/badges/icon-dead-default.svg
./etc/vigil/res/assets/images/badges/icon-dead-large.svg
./etc/vigil/res/assets/images/badges/icon-healthy-default.svg
./etc/vigil/res/assets/images/badges/icon-healthy-large.svg
./etc/vigil/res/assets/images/badges/icon-sick-default.svg
./etc/vigil/res/assets/images/badges/icon-sick-large.svg
./etc/vigil/res/assets/javascripts/index.js
./etc/vigil/res/assets/public/robots.txt
./etc/vigil/res/assets/stylesheets/common.css
./etc/vigil/res/assets/stylesheets/index.css
./etc/vigil/res/assets/templates/index.tera
./usr/bin/vigil
./usr/lib/systemd/system/vigil.service

安装&&使用制作好的rpm

  • 安装
yum install -y vigil-v1.4-1.x86_64.rpm
已加载插件:fastestmirror
正在检查 vigil-v1.4-1.x86_64.rpm: vigil-v1.4-1.x86_64
vigil-v1.4-1.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 vigil.x86_64.0.v1.4-1 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================================================
 Package 架构 版本 源 大小
=======================================================================================================================
正在安装:
 vigil x86_64 v1.4-1 /vigil-v1.4-1.x86_64 8.4 M
事务概要
=======================================================================================================================
安装 1 软件包
总计:8.4 M
安装大小:8.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装 : vigil-v1.4-1.x86_64 1/1
  验证中 : vigil-v1.4-1.x86_64 1/1
已安装:
  vigil.x86_64 0:v1.4-1
 
完毕!
 
  • 启动服务
systemctl start vigil

说明

以上只是简单的一个rpm 的制作,同时代码我也已经放到GitHub 上了,对于vigil 的配置可以参考官方文档
同时这个vigil 二进制是我添加了多人邮件发送构建之后的

参考资料

https://github.com/rongfengliang/vigil-rpm 
https://github.com/valeriansaliou/vigil 
https://github.com/rongfengliang/myvigil-multiemail 
https://fpm.readthedocs.io

vigil rpm 包制作的更多相关文章

  1. php-7.1.0 rpm包制作

    nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...

  2. RPM包制作教程

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

  3. rpm包制作(待实验)

    作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm N ...

  4. RPM包制作方法

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

  5. rpm包制作介绍

    RPM(Rpm Package Management)在ReadHat等发行版下被用作软件包管理程序,其将某个软件相关的文件置入一个.rpm包中,用rpm命令,我们可以方便地完成Linux下软件安装. ...

  6. vigil deb 包制作

    前边有写过简单rpm 包的制作,现在制作一个简单的deb 包. deb 包的制作是通过源码编译+ fpm 环境准备 rust curl https://sh.rustup.rs -sSf | sh 配 ...

  7. nginx-1.8.0 rpm包制作

    1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_ ...

  8. 实战RPM包制作

    在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...

  9. RPM包制作过程(一)

    本机环境:centos7,64位 1. 首先安装工具,rpmbuild可能在rpmdevtools里已经包含 #yum install rpm-devel.x86_64 #yum install rp ...

随机推荐

  1. Java 的 WebSocket

    1. WebSocket 是什么 一言以蔽之,WebSocket允许服务器「主动」给浏览器发消息,如教程演示截图,服务器会主动推送比特币价格给浏览器. 2. 为什么要用 WebSocket 实时获取服 ...

  2. Spring Security的RBAC数据模型嵌入

    1.简介 ​ 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用户通过成 ...

  3. 为 WPF 程序添加 Windows 跳转列表的支持

    原文:为 WPF 程序添加 Windows 跳转列表的支持 Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的.当时应用程序要想用 ...

  4. java之mybatis之缓存

    1.mybatis自带缓存功能.分为一级缓存,二级缓存. 2.一级缓存为 session 缓存,在一个 session中 ,一个查询的 select 语句只会执行一次,根据  <select&g ...

  5. XXL-JOB使用命令行的方式启动python时,日志过多导致阻塞的解决方式

    一.Runtime.getRuntime().exec()的阻塞问题 这个问题也不能算是XXL-JOB的问题,而是Java的Runtime.getRuntime().exec()造成的,Buffere ...

  6. Java实现树的遍历以及打印(递归,非递归)

    import java.util.LinkedList; import java.util.Stack; public class BinarySearchTree1<E extends Com ...

  7. spring中bean的作用域属性singleton与prototype的区别

    1.singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会 ...

  8. MySQL-By孙胜利-sifangku.com

    一.数据库基本概念 数据库:信息存储的仓库,包括一系列的关系措施! 表:一个数据库中可以有若干张表(形式上你可以看出我们日常生活中建立的表) 字段:表里面的信息会分若干个栏目来存,这些栏目呢,我们在数 ...

  9. JAVA基础之HttpServletRequest请求

    HttpServletRequest请求是获取请求行.请求头和请求体:可以通过这个方法设置防盗链,获取地址.牢记解决乱码的方式. 怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持reques ...

  10. 【故障处理】分布式事务ORA-01591错误解决

    [故障处理]分布式事务ORA-01591错误解决 1  BLOG文档结构图       2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...