Nops Blog

Welcon,this is my personal blog


  • 首页

  • 归档

2018-08-09-k8s日志收集-多pod挂载不同目录方案.md

发表于 2018-08-09 | 分类于 技术

k8s的日志收集有多种方案,其中一种是将pod的日志挂载到node节点,然后在node节点运行单独的日志收集客户端,将日志收集并分发到其他日志分析服务如elasticsearch上。

一般的方案为:deployment中将目录通过hostPath的方式挂载到node上:

1
2
3
4
5
volumes:
- name: test-volume
hostPath:
path: /home/work/logs
type: DirectoryOrCreate

但是,如果pod有多个replicas时存在一个问题,多个pod的日志会写到node机器上的同一个文件中。

解决办法是:利用HOSTNAME这个环境变量(每个pod的HOSTNAME值默认为pod_name),每个pod将日志写在$HOSTNAME目录下,便可以实现不同的pod日志写到不同目录下

阅读全文 »

2018-04-25-falcon-plus之graph模块详解.md

发表于 2018-04-25 | 分类于 技术

数据存储

graph模块负责将agent采集到的监控数据存储到rrd中。根据源代码整理了如下流程图。

需要了解四个关键的数据结构:

  • GraphItems:一个用来保存接收到的所有监控数据(之后会定期写入磁盘rrd文件中)
  • HistoryCache: 保存最近三次接收到的历史数据(主要用于绘图数据的查询)
  • IndexedItemCache: 已经写入mysql的索引数据
  • UnIndexedItemCache: 尚未写入mysql的索引

大致流程为:

  1. 接收数据=>保存监控数据=>保存索引=>保存历史数据
  2. 定期将内存数据GraphItems写入磁盘
  3. 定期更新索引到mysql

1、2、3这三个过程并行运行

阅读全文 »

2018-03-17-利用docker构建golang开发环境

发表于 2018-03-17 | 分类于 技术

简介

很多时候我们本地开发环境和线上环境是不一致的,一般我们的做法是在本地开发完程序,将代码上传到git,然后到服务器上把代码clone下来,编译然后再部署到服务器上运行。或者在本地进行交叉编译。

一种更好的方式是使用docker构建本地编译环境,可以非常方便的编译适合各个平台的程序版本

阅读全文 »

2018-02-11-几种增量更新方案

发表于 2018-02-11 | 分类于 技术

问题

需要从server端同步数据到client端,server端数据量很大,并且通常需要进行分页,限制一次更新的数量,只能增量更新。

分页机制的引入会导致增量更新方案变的更加复杂,有很多地方需要注意

阅读全文 »

2018-02-11-使用redis做相关统计

发表于 2018-02-11 | 分类于 技术

按照日期统计次数,不关心次数高低

问题描述:
需要统计事件a、b、c每个小时、每天、每月的发生次数

阅读全文 »

2018-02-11-python状态机设计模式

发表于 2018-02-11 | 分类于 技术

python demo

阅读全文 »

2017-03-31-vim快捷键

发表于 2017-03-31 | 分类于 学习

启动和退出vim

  • vim的启动:在Linux的提示符下键入vim(或使用vim myfile来编辑已经存在的文件)即可启动它。
  • vim的退出:先按下Esc键回到命令行模式,然后键入”:”,此时光标会停留在最下面一行,再键入”q”(如果强行退出则还在后面加 “!” ),最后按下Enter键即可。
阅读全文 »

java gc学习

发表于 2017-02-26 | 分类于 学习

java堆内存结构

java堆内存结构

gc相关参数

1
2
3
-Xms 10m:最小堆内存10M
-Xmx 10G:最大堆内存10G
-Xmn 10m:新生代大小10M
1
2
3
-XX:NewRatio:新生代和老年代的比例
-XX:SurvivorRatio:s0、s1和eden的比例
-XX:NewSize:新生代大小
阅读全文 »

opentsdb、hbase、hdfs集群搭建

发表于 2017-02-26 | 分类于 技术

HBase通过访问Zookeeper来获取-ROOT-表所在地址,通过-ROOT-表得到相应.META.表信息,从而获取数据存储的region位置

hadoop搭建:

参考网址:http://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide/#single-node-installation

单节点搭建

  1. 下载hadoop压缩包,hadoop-2.5.2.tar.gz并解压.进入解压目录,修改jdk路径,修改文件etc/hadoop/hadoop-env.sh
    export JAVA_HOME=/usr/local/jdk/

2.修改bashrc

1
2
3
4
5
6
7
export HADOOP_PREFIX="/home/worker/hadoop-2.5.2"
export HADOOP_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_PREFIX

阅读全文 »

nginx max_fails及proxy_next_upstream研究

发表于 2017-02-26 | 分类于 技术

测试nginx如何根据max_fails和proxy_next_upstream相关配置进行后端server的选择

阅读全文 »
123

Nops

世上本无事,佣人自扰之

23 日志
6 分类
33 标签
© 2018 Nops
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4