首页 > Apache Traffic Server 4.2.1/5.3.2上的坑!

Apache Traffic Server 4.2.1/5.3.2上的坑!

问题一:

现象描述:

昨天在CentOS 6.3 64位虚机上成功安装ATS 4.2.1上无法正常启动?但是安装一切正常。使用trafficserver start启动后,最后显示启动失败,没有任何错误日志或是错误提示信息。经过研究trafficserver这个脚本,也没有发现问题。

解决方法:

今天被老大解决了,原来是我们公司内部的那台服务器上没有开启syslog服务,导致错误日志无法打印。traffic_cop 依赖 syslog 服务。要先启动

service rsyslog start

补记:

今天在ATS文档官网地址

http://trafficserver.readthedocs.org/en/latest/admin/working-log-files.en.html#understanding-traffic-server-log-files

了解到,ATS通常会记录三种类型的日志,访问日志,错误日志和系统日志。系统日志使用syslog守护进程记录的,以CentOS为例,该守护进程为rsyslog,它会在/etc/rsyslog.conf配置文件中指定日志文件为/var/log/messages,所有的日志都会记录在/var/log/messages文件中。



问题二:

在Ubuntu 14.04上安装ATS 4.2.1,发现如下错误

> libhwloc not linked properly on ubuntu 13.10:
> /usr/bin/ld: ../lib/ts/.libs/libtsutil.so: undefined reference to symbol 'hwloc_get_type_depth'
> /usr/lib/x86_64-linux-gnu/libhwloc.so: error adding symbols: DSO missing from command line
解决方法:

暂无



问题三:

插件中使用TSUrlHostGet和TSMimeHdrFieldFind(bufp, hdr_loc, TS_MIME_FIELD_HOST, TS_MIME_LEN_HOST);获取url的host时,会有差异,前者个别域名获取不出来,后者可以正常获取。前者获取不出来的域名比如有

http://a.autoimg.cn/s?lp=10191&_v_TypeId=2353&_v_ad_ProvinceAreaID=-1&_v_ad_BBS_AreaName=-1&_v_brandID=8&_v_areaPropertyProvince=0&_v_ad_BuyStageID=&_v_ad_PriceIntervalID=&_v_ad_LevelID=&_v_ad_UserT%20ypeID=&_v_ad_PriceDirectionalID=-1&_v_ad_UserBrandID=&_a_ad_CarlevelID=15&_v_ad_BigBrandID=&area=211099

下面的Authproxy/Utils代码截图很清楚地给出了正确获取host的通常步骤,首先从MIME field获取,如果没有,就使用url中的:



大家在使用上述API开发插件时一定要注意。

问题四:

接口TSMimeHdrFieldValueAppend在ats 5.3.2上面的使用问题。

在replace-header插件中用到TSMimeHdrFieldValueAppend接口来修改或创建一个mimi field,在设置它的值时,需要设置一个index值,我发现该插件代码使用的是-1,这会造成assert失败导致ats崩掉,应该设置为0就没有问题。





更多相关:

  • 2003網域升級到2008網域以及遷移DNS 如圖這是我們現在的拓撲,cc從現用的LCS2008網域升級到2008網域,並一步步截圖給大家示範說明。隨便抓了臺虛擬機,是以前做LCS試驗用的,現在不用了,正好給大家示範2003升級到2008網域。 PS:因為AD是和DNS在一起的,所以我們將新的2008升級為主域控後將2003退出...

  • ELK:(ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成),Elasticsearch用于存储日志信息,Logstash用于收集日志,Kibana用于图形化展示。上一节我们介绍了如何使用docker-compose搭建ELK日志分析系统。传送门:传说中的ELK日志分析系统,手把手教你...

  • 欢迎关注头条号:老顾聊技术精品原创技术分享,知识的组装工目录前言常用日志组件什么是日志门面和日志实现常见的日志框架日志使用@slf4j注解日志的配置logback-spring配置总结前言日志是我们系统必备的功能之一,可以帮助我们开发人员定位系统的异常、错误以及运行流程的重要的工具。今天老顾就来介绍一下Spring boot的默认的l...

  • glog简介 glog是著名的google开源C++日志库glog(https://github.com/google/glog)的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,可以自定义控制的内容比较少。  glog主要有以下几个特点:  1. glog有四种日志等级INFO < WARING...

  • 应用场景 该配置文件用于ATS用作反向代理模式,访问日志被server域名分隔。比如,我想将sohu和ifeng的域名的日志分别记在两个不同的日志文件中,其它的日志统一记在默认的日志文件中。 配置 为了将不同源站的HTTP transaction记录在不同的日志文件中,你必须在log_hosts.config中列举出每...

  • 缘起 近来因为公司项目需要,阅读了一部分ATS logging system的源码实现,越发觉得logs_xml.config文件的配置非常重要,而我目前只是实践了一点它的皮毛。为此,根据自己的理解,翻译了官网的这篇文档,以作备忘。 logs_xml.config文件定义了自定义日志文件格式,过滤器和处理选项。文件格式采用x...

  • nan 是not a number ,inf是无穷大 numpy.nan_to_num(x): 使用0代替数组x中的nan元素,使用有限的数字代替inf元素...

  • 简介 Simple Reference  基础CUDA示例,适用于初学者, 反映了运用CUDA和CUDA runtime APIs的一些基本概念.Utilities Reference  演示如何查询设备能力和衡量GPU/CPU 带宽的实例程序。Graphics Reference  图形化示例展现的是 CUDA, OpenGL,...

  • 在做开发的过程中难免需要给内核及下载的一些源码打补丁,所以我们先学习下Linux下使用如如何使用diff制作补丁以及如何使用patch打补丁。...

  • 我在调研ATS 4.2.3挂载SSD的过程中,遇到很多坑,特此详细记录我摸索的主要过程,以便大家以后避免之。 基本思路可以完全照搬参考文献[2][3] 下面的安装假定是以root用户身份进行的,Linux服务器已经安装好系统,磁盘已经做好分区。 首先需要认识我们的Linux服务器的硬件配置和软件情况 硬件配置: DELL...

  • 该博文整理一些在使用stl编程过程中遇到的小经验: 1.在多线程环境下面打印调试,如何使用cout及时刷新到屏幕上? 在C中我们经常这样使用: printf("Hello World "); fflush(stdout); 如果使用stl,我们可以这样使用: cout << "Hello World" << endl <...